123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403 |
- /*****************************************************************
- *****************************************************************
- *** **
- *** (C)Copyright 2005-2006, American Megatrends Inc. **
- *** **
- *** All Rights Reserved. **
- *** **
- *** 6145-F, Northbelt Parkway, Norcross, **
- *** **
- *** Georgia - 30071, USA. Phone-(770)-246-8600. **
- *** **
- *****************************************************************
- *****************************************************************
- ******************************************************************
- *
- * PDKCmds.c
- * Hooks that are invoked at different points of the Firmware
- * execution.
- *
- * Author: Govind Kothandapani <govindk@ami.com>
- ******************************************************************/
- #include "PDKCmds.h"
- #include "OemSMMCmds.h"
- #include "com_IPMIDefs.h"
- #include "Storlead.h"
- /*NetFn -Application OEM Command Handler to override generic IPMI cmd
- Commands can be added to the Handler as explained below
- { CMD_GET_DEV_ID, PRIV_USER, GETDEV_ID, 0x00, 0xAAAA },
- where CMD_GET_DEV_ID - Command no.
- PRIV_USER - Privilege level like administrator,user
- GETDEV_ID - Function for the command to override
- 0x00 - Request length for the command
- 0xAAAA - Firewall settings
- GETDEV_ID function definition can be as shown below
- int GETDEV_ID (_NEAR_ INT8U* pReq, INT8U ReqLen, _NEAR_ INT8U* pRes)
- {
- *pRes= CC_NORMAL;
- return sizeof (*pRes);
- }
- */
- const CmdHndlrMap_T g_Oem_App_CmdHndlr [] =
- {
- { 0x00, 0x00, 0x00, 0x00, 0x0000 }
- };
- /*Netfn - Chasiss OEM Command Handler to override generic IPMI cmd */
- const CmdHndlrMap_T g_Oem_Chassis_CmdHndlr [] =
- {
- { 0x00, 0x00, 0x00, 0x00, 0x0000 }
- };
- /*Netfn - Bridging OEM Command Handler to override generic IPMI cmd */
- const CmdHndlrMap_T g_Oem_Bridge_CmdHndlr [] =
- {
- { 0x00, 0x00, 0x00, 0x00, 0x0000 }
- };
- /*Netfn - Sensor OEM Command Handler to override generic IPMI cmd */
- const CmdHndlrMap_T g_Oem_SensorEvent_CmdHndlr [] =
- {
- { 0x00, 0x00, 0x00, 0x00, 0x0000 }
- };
- /*Netfn - Storage OEM Command Handler to override generic IPMI cmd */
- const CmdHndlrMap_T g_Oem_Storage_CmdHndlr [] =
- {
- { 0x00, 0x00, 0x00, 0x00, 0x0000 }
- };
- /*Netfn - Transport OEM Command Handler to override generic IPMI cmd */
- const CmdHndlrMap_T g_Oem_Config_CmdHndlr [] =
- {
- { 0x00, 0x00, 0x00, 0x00, 0x0000 }
- };
- /*Netfn - OEM cmd */
- const CmdHndlrMap_T g_Oem_CmdHndlr [] = //jimbo add
- {
- { CMD_EXAMPLE_0h, PRIV_USER, SMMExample_0h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_1h, PRIV_USER, SMMExample_1h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_2h, PRIV_USER, SMMExample_2h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_3h, PRIV_USER, SMMExample_3h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_4h, PRIV_USER, SMMExample_4h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_5h, PRIV_USER, SMMExample_5h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_6h, PRIV_USER, SMMExample_6h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_7h, PRIV_USER, SMMExample_7h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_8h, PRIV_USER, SMMExample_8h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_9h, PRIV_USER, SMMExample_9h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_ah, PRIV_USER, SMMExample_ah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_bh, PRIV_USER, SMMExample_bh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_ch, PRIV_USER, SMMExample_ch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_dh, PRIV_USER, SMMExample_dh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_eh, PRIV_USER, SMMExample_eh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_fh, PRIV_USER, SMMExample_fh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_10h, PRIV_USER, SMMExample_10h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_11h, PRIV_USER, SMMExample_11h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_12h, PRIV_USER, SMMExample_12h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_13h, PRIV_USER, SMMExample_13h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_14h, PRIV_USER, SMMExample_14h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_15h, PRIV_USER, SMMExample_15h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_16h, PRIV_USER, SMMExample_16h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_17h, PRIV_USER, SMMExample_17h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_18h, PRIV_USER, SMMExample_18h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_19h, PRIV_USER, SMMExample_19h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_20h, PRIV_USER, SMMExample_20h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_21h, PRIV_USER, SMMExample_21h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_22h, PRIV_USER, SMMExample_22h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_23h, PRIV_USER, SMMExample_23h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_24h, PRIV_USER, SMMExample_24h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_25h, PRIV_USER, SMMExample_25h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_26h, PRIV_USER, SMMExample_26h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_27h, PRIV_USER, SMMExample_27h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_28h, PRIV_USER, SMMExample_28h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_29h, PRIV_USER, SMMExample_29h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_2ah, PRIV_USER, SMMExample_2ah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_2bh, PRIV_USER, SMMExample_2bh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_2ch, PRIV_USER, SMMExample_2ch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_2dh, PRIV_USER, SMMExample_2dh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_2eh, PRIV_USER, SMMExample_2eh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_2fh, PRIV_USER, SMMExample_2fh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_30h, PRIV_USER, SMMExample_30h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_31h, PRIV_USER, SMMExample_31h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_32h, PRIV_USER, SMMExample_32h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_33h, PRIV_USER, SMMExample_33h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_34h, PRIV_USER, SMMExample_34h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_35h, PRIV_USER, SMMExample_35h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_36h, PRIV_USER, SMMExample_36h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_37h, PRIV_USER, SMMExample_37h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_38h, PRIV_USER, SMMExample_38h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_39h, PRIV_USER, SMMExample_39h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_3ah, PRIV_USER, SMMExample_3ah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_3bh, PRIV_USER, SMMExample_3bh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_3ch, PRIV_USER, SMMExample_3ch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_3dh, PRIV_USER, SMMExample_3dh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_3eh, PRIV_USER, SMMExample_3eh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_3fh, PRIV_USER, SMMExample_3fh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_40h, PRIV_USER, SMMExample_40h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_41h, PRIV_USER, SMMExample_41h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_42h, PRIV_USER, SMMExample_42h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_43h, PRIV_USER, SMMExample_43h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_44h, PRIV_USER, SMMExample_44h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_45h, PRIV_USER, SMMExample_45h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_46h, PRIV_USER, SMMExample_46h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_47h, PRIV_USER, SMMExample_47h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_48h, PRIV_USER, SMMExample_48h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_49h, PRIV_USER, SMMExample_49h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_4ah, PRIV_USER, SMMExample_4ah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_4bh, PRIV_USER, SMMExample_4bh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_4ch, PRIV_USER, SMMExample_4ch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_4dh, PRIV_USER, SMMExample_4dh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_4eh, PRIV_USER, SMMExample_4eh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_4fh, PRIV_USER, SMMExample_4fh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_50h, PRIV_USER, SMMExample_50h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_51h, PRIV_USER, SMMExample_51h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_52h, PRIV_USER, SMMExample_52h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_53h, PRIV_USER, SMMExample_53h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_54h, PRIV_USER, SMMExample_54h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_55h, PRIV_USER, SMMExample_55h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_56h, PRIV_USER, SMMExample_56h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_57h, PRIV_USER, SMMExample_57h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_58h, PRIV_USER, SMMExample_58h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_59h, PRIV_USER, SMMExample_59h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_5ah, PRIV_USER, SMMExample_5ah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_5bh, PRIV_USER, SMMExample_5bh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_5ch, PRIV_USER, SMMExample_5ch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_5dh, PRIV_USER, SMMExample_5dh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_5eh, PRIV_USER, SMMExample_5eh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_5fh, PRIV_USER, SMMExample_5fh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_60h, PRIV_USER, SMMExample_60h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_61h, PRIV_USER, SMMExample_61h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_62h, PRIV_USER, SMMExample_62h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_63h, PRIV_USER, SMMExample_63h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_64h, PRIV_USER, SMMExample_64h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_65h, PRIV_USER, SMMExample_65h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_66h, PRIV_USER, SMMExample_66h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_67h, PRIV_USER, SMMExample_67h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_68h, PRIV_USER, SMMExample_68h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_69h, PRIV_USER, SMMExample_69h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_6ah, PRIV_USER, SMMExample_6ah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_6bh, PRIV_USER, SMMExample_6bh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_6ch, PRIV_USER, SMMExample_6ch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_6dh, PRIV_USER, SMMExample_6dh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_6eh, PRIV_USER, SMMExample_6eh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_6fh, PRIV_USER, SMMExample_6fh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_70h, PRIV_USER, SMMExample_70h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_71h, PRIV_USER, SMMExample_71h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_72h, PRIV_USER, SMMExample_72h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_73h, PRIV_USER, SMMExample_73h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_74h, PRIV_USER, SMMExample_74h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_75h, PRIV_USER, SMMExample_75h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_76h, PRIV_USER, SMMExample_76h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_77h, PRIV_USER, SMMExample_77h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_78h, PRIV_USER, SMMExample_78h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_79h, PRIV_USER, SMMExample_79h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_7ah, PRIV_USER, SMMExample_7ah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_7bh, PRIV_USER, SMMExample_7bh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_7ch, PRIV_USER, SMMExample_7ch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_7dh, PRIV_USER, SMMExample_7dh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_7eh, PRIV_USER, SMMExample_7eh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_7fh, PRIV_USER, SMMExample_7fh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_80h, PRIV_USER, SMMExample_80h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_81h, PRIV_USER, SMMExample_81h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_82h, PRIV_USER, SMMExample_82h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_83h, PRIV_USER, SMMExample_83h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_84h, PRIV_USER, SMMExample_84h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_85h, PRIV_USER, SMMExample_85h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_86h, PRIV_USER, SMMExample_86h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_87h, PRIV_USER, SMMExample_87h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_88h, PRIV_USER, SMMExample_88h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_89h, PRIV_USER, SMMExample_89h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_8ah, PRIV_USER, SMMExample_8ah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_8bh, PRIV_USER, SMMExample_8bh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_8ch, PRIV_USER, SMMExample_8ch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_8dh, PRIV_USER, SMMExample_8dh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_8eh, PRIV_USER, SMMExample_8eh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_8fh, PRIV_USER, SMMExample_8fh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_90h, PRIV_USER, SMMExample_90h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_91h, PRIV_USER, SMMExample_91h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_92h, PRIV_USER, SMMExample_92h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_93h, PRIV_USER, SMMExample_93h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_94h, PRIV_USER, SMMExample_94h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_95h, PRIV_USER, SMMExample_95h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_96h, PRIV_USER, SMMExample_96h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_97h, PRIV_USER, SMMExample_97h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_98h, PRIV_USER, SMMExample_98h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_99h, PRIV_USER, SMMExample_99h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_9ah, PRIV_USER, SMMExample_9ah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_9bh, PRIV_USER, SMMExample_9bh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_9ch, PRIV_USER, SMMExample_9ch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_9dh, PRIV_USER, SMMExample_9dh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_9eh, PRIV_USER, SMMExample_9eh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_9fh, PRIV_USER, SMMExample_9fh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_a0h, PRIV_USER, SMMExample_a0h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_a1h, PRIV_USER, SMMExample_a1h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_a2h, PRIV_USER, SMMExample_a2h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_a3h, PRIV_USER, SMMExample_a3h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_a4h, PRIV_USER, SMMExample_a4h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_a5h, PRIV_USER, SMMExample_a5h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_a6h, PRIV_USER, SMMExample_a6h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_a7h, PRIV_USER, SMMExample_a7h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_a8h, PRIV_USER, SMMExample_a8h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_a9h, PRIV_USER, SMMExample_a9h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_aah, PRIV_USER, SMMExample_aah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_abh, PRIV_USER, SMMExample_abh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_ach, PRIV_USER, SMMExample_ach, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_adh, PRIV_USER, SMMExample_adh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_aeh, PRIV_USER, SMMExample_aeh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_afh, PRIV_USER, SMMExample_afh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_b0h, PRIV_USER, SMMExample_b0h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_b1h, PRIV_USER, SMMExample_b1h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_b2h, PRIV_USER, SMMExample_b2h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_b3h, PRIV_USER, SMMExample_b3h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_b4h, PRIV_USER, SMMExample_b4h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_b5h, PRIV_USER, SMMExample_b5h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_b6h, PRIV_USER, SMMExample_b6h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_b7h, PRIV_USER, SMMExample_b7h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_b8h, PRIV_USER, SMMExample_b8h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_b9h, PRIV_USER, SMMExample_b9h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_bah, PRIV_USER, SMMExample_bah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_bbh, PRIV_USER, SMMExample_bbh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_bch, PRIV_USER, SMMExample_bch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_bdh, PRIV_USER, SMMExample_bdh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_beh, PRIV_USER, SMMExample_beh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_bfh, PRIV_USER, SMMExample_bfh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_c0h, PRIV_USER, SMMExample_c0h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_c1h, PRIV_USER, SMMExample_c1h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_c2h, PRIV_USER, SMMExample_c2h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_c3h, PRIV_USER, SMMExample_c3h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_c4h, PRIV_USER, SMMExample_c4h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_c5h, PRIV_USER, SMMExample_c5h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_c6h, PRIV_USER, SMMExample_c6h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_c7h, PRIV_USER, SMMExample_c7h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_c8h, PRIV_USER, SMMExample_c8h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_c9h, PRIV_USER, SMMExample_c9h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_cah, PRIV_USER, SMMExample_cah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_cbh, PRIV_USER, SMMExample_cbh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_cch, PRIV_USER, SMMExample_cch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_cdh, PRIV_USER, SMMExample_cdh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_ceh, PRIV_USER, SMMExample_ceh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_cfh, PRIV_USER, SMMExample_cfh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_d0h, PRIV_USER, SMMExample_d0h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_d1h, PRIV_USER, SMMExample_d1h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_d2h, PRIV_USER, SMMExample_d2h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_d3h, PRIV_USER, SMMExample_d3h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_d4h, PRIV_USER, SMMExample_d4h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_d5h, PRIV_USER, SMMExample_d5h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_d6h, PRIV_USER, SMMExample_d6h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_d7h, PRIV_USER, SMMExample_d7h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_d8h, PRIV_USER, SMMExample_d8h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_d9h, PRIV_USER, SMMExample_d9h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_dah, PRIV_USER, SMMExample_dah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_dbh, PRIV_USER, SMMExample_dbh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_dch, PRIV_USER, SMMExample_dch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_ddh, PRIV_USER, SMMExample_ddh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_deh, PRIV_USER, SMMExample_deh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_dfh, PRIV_USER, SMMExample_dfh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_e0h, PRIV_USER, SMMExample_e0h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_e1h, PRIV_USER, SMMExample_e1h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_e2h, PRIV_USER, SMMExample_e2h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_e3h, PRIV_USER, SMMExample_e3h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_e4h, PRIV_USER, SMMExample_e4h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_e5h, PRIV_USER, SMMExample_e5h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_e6h, PRIV_USER, SMMExample_e6h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_e7h, PRIV_USER, SMMExample_e7h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_e8h, PRIV_USER, SMMExample_e8h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_e9h, PRIV_USER, SMMExample_e9h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_eah, PRIV_USER, SMMExample_eah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_ebh, PRIV_USER, SMMExample_ebh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_ech, PRIV_USER, SMMExample_ech, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_edh, PRIV_USER, SMMExample_edh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_eeh, PRIV_USER, SMMExample_eeh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_efh, PRIV_USER, SMMExample_efh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_f0h, PRIV_USER, SMMExample_f0h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_f1h, PRIV_USER, SMMExample_f1h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_f2h, PRIV_USER, SMMExample_f2h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_f3h, PRIV_USER, SMMExample_f3h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_f4h, PRIV_USER, SMMExample_f4h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_f5h, PRIV_USER, SMMExample_f5h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_f6h, PRIV_USER, SMMExample_f6h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_f7h, PRIV_USER, SMMExample_f7h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_f8h, PRIV_USER, SMMExample_f8h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_f9h, PRIV_USER, SMMExample_f9h, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_fah, PRIV_USER, SMMExample_fah, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_fbh, PRIV_USER, SMMExample_fbh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_fch, PRIV_USER, SMMExample_fch, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_fdh, PRIV_USER, SMMExample_fdh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_feh, PRIV_USER, SMMExample_feh, 0xff, 0xAAAA, 0xFFFF },
- { CMD_EXAMPLE_ffh, PRIV_USER, SMMExample_ffh, 0xff, 0xAAAA, 0xFFFF },
- };
- const CmdHndlrMap_T g_Storlead_CmdHndlr [] =
- {
- { CMD_GET_SYS_INFO, PRIV_USER, Storlead_GetSysInfo, 0xff, 0xAAAA ,0xFFFF},
- { CMD_GET_SENSOR_INFO, PRIV_USER, Storlead_GetSensorInfo, 0xff, 0xAAAA ,0xFFFF},
- { CMD_AUTHOR_VERIFY, PRIV_USER, Storlead_AuthorVerify, 0xff, 0xAAAA ,0xFFFF},
- { CMD_GET_SENSOR_HISTORY, PRIV_USER, Storlead_GetSensorHistory, 0xff, 0xAAAA ,0xFFFF},
- { CMD_GET_FAN_INFO, PRIV_USER, Storlead_GetFanInfo, 0xff, 0xAAAA ,0xFFFF},
- { CMD_SET_FAN_INFO, PRIV_USER, Storlead_SetFanInfo, 0xff, 0xAAAA ,0xFFFF},
- { CMD_GET_ALLBLADE_INFO, PRIV_USER, Storlead_getAllBladeStatus, 0xff, 0xAAAA ,0xFFFF},
- { CMD_RESTORE_FACTORY_SET, PRIV_USER, Storlead_RestoreFactorSettings, 0xff, 0xAAAA ,0xFFFF},
- { CMD_GET_LAN_INFO, PRIV_USER, Storlead_GetLanInfo, 0xff, 0xAAAA ,0xFFFF},
- { CMD_SET_LAN_INFO, PRIV_USER, Storlead_SetLanInfo, 0xff, 0xAAAA ,0xFFFF},
- { CMD_GET_BLADE_INFO, PRIV_USER, Storlead_GetBladeInfo, 0xff, 0xAAAA ,0xFFFF},
- { CMD_GET_SENSOR_NAME, PRIV_USER, Storlead_GetSensorName, 0xff, 0xAAAA ,0xFFFF},
- { 0x00, 0x00, 0x00, 0x00, 0x0000 , 0x0000},
- };
- /*OEM Message Handler table to override generic IPMI cmd
- Any OEM specific Netfn and Command Handler can also be
- added here*/
- const MsgHndlrTbl_T oem_MsgHndlrTbl [] =
- {
- // { NETFN_APP, g_Oem_App_CmdHndlr },
- // { NETFN_CHASSIS, g_Oem_Chassis_CmdHndlr },
- // { NETFN_BRIDGE, g_Oem_Bridge_CmdHndlr },
- // { NETFN_SENSOR, g_Oem_SensorEvent_CmdHndlr },
- // { NETFN_STORAGE, g_Oem_Storage_CmdHndlr },
- // { NETFN_TRANSPORT, g_Oem_Config_CmdHndlr },
- { NETFN_OEM, g_Oem_CmdHndlr },
- {NETFN_STORLEAD, g_Storlead_CmdHndlr },
- };
- /**
- *@fn PDKGetOEMMsgHndlrMap
- *@brief Helps in getting command handler for specific NetFn
- *@parm NetFn -NetFunction
- *@param pCmdHndlrMap - Command Handler for the given NetFn
- *@return Returns 0 on success and -1 on failure
- */
- int
- PDKGetOEMMsgHndlrMap (uint8_t NetFn, CmdHndlrMap_T ** pCmdHndlrMap)
- {
- int i;
- /* Get the command handler corresponding to the net function */
- for (i = 0; i < sizeof (oem_MsgHndlrTbl) / sizeof (oem_MsgHndlrTbl [0]); i++)
- {
- if (oem_MsgHndlrTbl [i].NetFn == NetFn)
- {
- break;
- }
- }
- /* Check if we have not found our net function */
- if (i == sizeof (oem_MsgHndlrTbl) / sizeof (oem_MsgHndlrTbl [0]))
- {
- return -1;
- }
- /* Get the handler corresponding to the command */
- *pCmdHndlrMap = (CmdHndlrMap_T*)oem_MsgHndlrTbl [i].CmdHndlrMap;
-
- return 0;
- }
|