/****************************************************************** ****************************************************************** *** ** *** (C)Copyright 2011, American Megatrends Inc. ** *** ** *** All Rights Reserved. ** *** ** *** 5555 , Oakbrook Pkwy, Norcross, ** *** ** *** Georgia - 30093, USA. Phone-(770)-246-8600. ** *** ** ****************************************************************** ****************************************************************** ****************************************************************** * * cmdselect.c * OEM can enable or disable IPMI Command accoring to requirements * * Author: Winston ******************************************************************/ #include #include "com_BmcType.h" #include "cmdselect.h" #include "com_IPMI_App.h" #include "com_IPMI_Bridge.h" #include "com_IPMI_PICMG.h" #include "com_IPMI_Chassis.h" #include "com_IPMI_SensorEvent.h" #include "com_IPMI_Storage.h" #include "OemSMMCmds.h" #include "Storlead.h" //#include "com_IPMI_Transport.h" #include "com_IPMI_DeviceConfig.h" //#include "OemSMMCmds.h" //#include "main.h" #define ENABLED 0x1 #define DISABLED 0xff const NetFnCmds_T g_App [] = { /* IPM Device Commands */ {CMD_GET_DEV_ID , ENABLED}, {CMD_BROADCAST_GET_DEV_ID ,DISABLED}, {CMD_COLD_RESET ,ENABLED}, {CMD_WARM_RESET ,ENABLED}, {CMD_GET_SELF_TEST_RESULTS ,ENABLED}, {CMD_MFG_TEST_ON ,ENABLED}, {CMD_SET_ACPI_PWR_STATE ,ENABLED}, {CMD_GET_ACPI_PWR_STATE ,ENABLED}, {CMD_GET_DEV_GUID ,ENABLED}, {CMD_GET_NETFN_SUP ,ENABLED}, {CMD_GET_CMD_SUP ,ENABLED}, {CMD_GET_SUBFN_SUP ,DISABLED}, {CMD_GET_CONFIG_CMDS ,ENABLED}, {CMD_GET_CONFIG_SUB_FNS ,DISABLED}, {CMD_SET_CMD_ENABLES ,ENABLED}, {CMD_GET_CMD_ENABLES ,ENABLED}, {CMD_SET_SUBFN_ENABLES ,DISABLED}, {CMD_GET_SUBFN_ENABLES ,DISABLED}, {CMD_GET_OEM_NETFN_IANA_SUPPORT ,ENABLED}, /* WatchDog Timer Commands */ {CMD_RESET_WDT ,ENABLED}, {CMD_SET_WDT ,ENABLED}, {CMD_GET_WDT ,ENABLED}, /* BMC Device and Messaging Commands */ { CMD_SET_BMC_GBL_ENABLES ,ENABLED}, { CMD_GET_BMC_GBL_ENABLES ,ENABLED}, { CMD_CLR_MSG_FLAGS ,ENABLED}, { CMD_GET_MSG_FLAGS ,ENABLED}, { CMD_ENBL_MSG_CH_RCV ,ENABLED}, { CMD_GET_MSG ,ENABLED}, { CMD_SEND_MSG ,ENABLED}, { CMD_READ_EVT_MSG_BUFFER ,ENABLED}, { CMD_GET_BTIFC_CAP ,ENABLED}, { CMD_GET_SYSTEM_GUID ,ENABLED}, { CMD_GET_CH_AUTH_CAP ,ENABLED}, { CMD_GET_SESSION_CHALLENGE ,ENABLED}, { CMD_ACTIVATE_SESSION ,ENABLED}, { CMD_SET_SESSION_PRIV_LEVEL ,ENABLED}, { CMD_CLOSE_SESSION ,ENABLED}, { CMD_GET_SESSION_INFO ,ENABLED}, { CMD_GET_AUTH_CODE ,ENABLED}, { CMD_SET_CH_ACCESS ,ENABLED}, { CMD_GET_CH_ACCESS ,ENABLED}, { CMD_GET_CH_INFO ,ENABLED}, { CMD_SET_USER_ACCESS ,ENABLED}, { CMD_GET_USER_ACCESS ,ENABLED}, { CMD_SET_USER_NAME ,ENABLED}, { CMD_GET_USER_NAME ,ENABLED}, { CMD_SET_USER_PASSWORD ,ENABLED}, { CMD_MASTER_WRITE_READ ,ENABLED}, { CMD_SET_SYSTEM_INFO_PARAM ,ENABLED}, { CMD_GET_SYSTEM_INFO_PARAM ,ENABLED}, /*------------------------ IPMI 2.0 specific Commands ------------------*/ { CMD_ACTIVATE_PAYLOAD ,ENABLED}, { CMD_DEACTIVATE_PAYLOAD ,ENABLED}, { CMD_GET_PAYLD_ACT_STATUS ,ENABLED}, { CMD_GET_PAYLD_INST_INFO ,ENABLED}, { CMD_SET_USR_PAYLOAD_ACCESS ,ENABLED}, { CMD_GET_USR_PAYLOAD_ACCESS ,ENABLED}, { CMD_GET_CH_PAYLOAD_SUPPORT ,ENABLED}, { CMD_GET_CH_PAYLOAD_VER ,ENABLED}, { CMD_GET_CH_OEM_PAYLOAD_INFO ,ENABLED}, { CMD_GET_CH_CIPHER_SUITES ,ENABLED}, { CMD_SUS_RES_PAYLOAD_ENCRYPT ,ENABLED}, { CMD_SET_CH_SECURITY_KEYS ,ENABLED}, { CMD_GET_SYS_IFC_CAPS ,ENABLED}, {0 ,0 }, }; const NetFnCmds_T g_Chassis [] = { /*--------------------- Chassis Commands ---------------------------------*/ { CMD_GET_CHASSIS_CAPABILITIES ,ENABLED}, { CMD_GET_CHASSIS_STATUS ,ENABLED}, { CMD_CHASSIS_CONTROL ,ENABLED}, { CMD_CHASSIS_RESET ,DISABLED}, { CMD_CHASSIS_IDENTIFY ,ENABLED}, { CMD_SET_CHASSIS_CAPABILITIES ,ENABLED}, { CMD_SET_POWER_RESTORE_POLICY ,ENABLED}, { CMD_GET_SYSTEM_RESTART_CAUSE ,ENABLED}, { CMD_SET_SYSTEM_BOOT_OPTIONS ,ENABLED}, { CMD_GET_SYSTEM_BOOT_OPTIONS ,ENABLED}, { CMD_GET_POH_COUNTER ,ENABLED}, { CMD_SET_FP_BTN_ENABLES ,ENABLED}, { CMD_SET_POWER_CYCLE_INTERVAL ,ENABLED}, {0, 0 } }; const NetFnCmds_T g_Bridge [] = { /*----------------------- Bridge Management Commands --------------------------------*/ { CMD_GET_BRIDGE_STATE ,ENABLED}, { CMD_SET_BRIDGE_STATE ,ENABLED}, { CMD_GET_ICMB_ADDR ,ENABLED}, { CMD_SET_ICMB_ADDR ,ENABLED}, { CMD_SET_BRIDGE_PROXY_ADDR ,ENABLED}, { CMD_GET_BRIDGE_STATISTICS ,ENABLED}, { CMD_GET_ICMB_CAPABILITIES ,ENABLED}, { CMD_CLEAR_BRIDGE_STATISTICS ,ENABLED}, { CMD_GET_BRIDGE_PROXY_ADDR ,ENABLED}, { CMD_GET_ICMB_CONNECTOR_INFO ,ENABLED}, { CMD_GET_ICMB_CONNECTION_ID ,DISABLED}, { CMD_SEND_ICMB_CONNECTION_ID ,DISABLED}, /*---------------------- Bridge Discovery Commands -----------------------------------*/ { CMD_PREPARE_FOR_DISCOVERY ,ENABLED}, { CMD_GET_ADDRESSES ,ENABLED}, { CMD_SET_DISCOVERED ,ENABLED}, { CMD_GET_CHASSIS_DEVICE_ID ,ENABLED}, { CMD_SET_CHASSIS_DEVICE_ID ,ENABLED}, /*----------------------- Bridging Commands ------------------------------------------*/ { CMD_BRIDGE_REQUEST ,ENABLED}, { CMD_BRIDGE_MESSAGE ,ENABLED}, /*---------------------- Bridge Event Commands ---------------------------------------*/ { CMD_GET_EVENT_COUNT ,ENABLED}, { CMD_SET_EVENT_DESTINATION ,ENABLED}, { CMD_SET_EVENT_RECEPTION_STATE ,ENABLED}, { CMD_SEND_ICMB_EVENT_MESSAGE ,ENABLED}, { CMD_GET_EVENT_DESTINATION ,ENABLED}, { CMD_GET_EVENT_RECEPTION_STATE ,ENABLED}, { 0 ,0 } }; const NetFnCmds_T g_Sensor [] = { { CMD_SET_EVENT_RECEIVER ,ENABLED}, { CMD_GET_EVENT_RECEIVER ,ENABLED}, { CMD_PLATFORM_EVENT ,ENABLED}, { CMD_GET_PEF_CAPABILITIES ,ENABLED}, { CMD_ARM_PEF_POSTPONE_TIMER ,ENABLED}, { CMD_SET_PEF_CONFIG_PARAMS ,ENABLED}, { CMD_GET_PEF_CONFIG_PARAMS ,ENABLED}, { CMD_SET_LAST_PROCESSED_EVENT_ID ,ENABLED}, { CMD_GET_LAST_PROCESSED_EVENT_ID ,ENABLED}, { CMD_ALERT_IMMEDIATE ,ENABLED}, { CMD_PET_ACKNOWLEDGE ,ENABLED}, { CMD_GET_DEV_SDR_INFO ,ENABLED}, { CMD_GET_DEV_SDR ,ENABLED}, { CMD_RESERVE_DEV_SDR_REPOSITORY ,ENABLED}, { CMD_GET_SENSOR_READING_FACTORS ,ENABLED}, { CMD_SET_SENSOR_HYSTERISIS ,ENABLED}, { CMD_GET_SENSOR_HYSTERISIS ,ENABLED}, { CMD_SET_SENSOR_THRESHOLDS ,ENABLED}, { CMD_GET_SENSOR_THRESHOLDS ,ENABLED}, { CMD_SET_SENSOR_EVENT_ENABLE ,ENABLED}, { CMD_GET_SENSOR_EVENT_ENABLE ,ENABLED}, { CMD_REARM_SENSOR_EVENTS ,ENABLED}, { CMD_GET_SENSOR_EVENT_STATUS ,ENABLED}, { CMD_GET_SENSOR_READING ,ENABLED}, { CMD_SET_SENSOR_TYPE ,ENABLED}, { CMD_GET_SENSOR_TYPE ,ENABLED}, { CMD_SET_SENSOR_READING ,ENABLED}, {0, 0 } }; const NetFnCmds_T g_Storage [] = { /*--------------------- FRU Device Commands ---------------------------------*/ { CMD_FRU_INVENTORY_AREA_INFO ,ENABLED}, { CMD_READ_FRU_DATA ,ENABLED}, { CMD_WRITE_FRU_DATA ,ENABLED}, /*--------------------- SDR Device Commands ---------------------------------*/ { CMD_GET_SDR_REPOSITORY_INFO ,ENABLED}, { CMD_GET_SDR_REPOSITORY_ALLOCATION_INFO ,ENABLED}, { CMD_RESERVE_SDR_REPOSITORY ,ENABLED}, { CMD_GET_SDR ,ENABLED}, { CMD_ADD_SDR ,ENABLED}, { CMD_PARTIAL_ADD_SDR ,ENABLED}, { CMD_DELETE_SDR ,DISABLED}, { CMD_CLEAR_SDR_REPOSITORY ,ENABLED}, { CMD_GET_SDR_REPOSITORY_TIME ,ENABLED}, { CMD_SET_SDR_REPOSITORY_TIME ,DISABLED}, { CMD_ENTER_SDR_REPOSITORY_UPDATE_MODE ,DISABLED}, { CMD_EXIT_SDR_REPOSITORY_UPDATE_MODE ,DISABLED}, { CMD_RUN_INITIALIZATION_AGENT ,ENABLED}, /*--------------------- SEL Device Commands ----------------------------------*/ { CMD_GET_SEL_INFO ,ENABLED}, { CMD_GET_SEL_ALLOCATION_INFO ,ENABLED}, { CMD_RESERVE_SEL ,ENABLED}, { CMD_GET_SEL_ENTRY ,ENABLED}, { CMD_ADD_SEL_ENTRY ,ENABLED}, { CMD_PARTIAL_ADD_SEL_ENTRY ,ENABLED}, { CMD_DELETE_SEL_ENTRY ,ENABLED}, { CMD_CLEAR_SEL ,ENABLED}, { CMD_GET_SEL_TIME ,ENABLED}, { CMD_SET_SEL_TIME ,ENABLED}, { CMD_GET_AUXILIARY_LOG_STATUS ,DISABLED}, { CMD_SET_AUXILIARY_LOG_STATUS ,DISABLED}, { CMD_GET_SEL_TIME_UTC_OFFSET ,ENABLED}, { CMD_SET_SEL_TIME_UTC_OFFSET ,ENABLED}, { 0, 0 } }; const NetFnCmds_T g_Transport [] = { /*------------------------- IPM Device Commands --------------------------------------*/ { CMD_SET_LAN_CONFIGURATION_PARAMETERS ,ENABLED}, { CMD_GET_LAN_CONFIGURATION_PARAMETERS ,ENABLED}, { CMD_SUSPEND_BMC_ARPS ,ENABLED}, { CMD_GET_IP_UDP_RMCP_STATISTICS ,DISABLED}, /*--------------------- Serial/Modem Device Commands ---------------------------------*/ { CMD_SET_SERIAL_MODEM_CONFIG ,ENABLED}, { CMD_GET_SERIAL_MODEM_CONFIG ,ENABLED}, { CMD_SET_SERIAL_MODEM_MUX ,ENABLED}, { CMD_SERIAL_MODEM_CONNECTION_ACTIVITY ,DISABLED}, { CMD_CALLBACK ,ENABLED}, { CMD_SET_USER_CALLBACK_OPTION ,ENABLED}, { CMD_GET_USER_CALLBACK_OPTION ,ENABLED}, { CMD_GET_TAP_RES_CODES ,ENABLED}, /*------------------------- Serial Over LAN Commands ---------------------------------*/ { CMD_GET_SOL_CONFIGURATION ,ENABLED}, { CMD_SET_SOL_CONFIGURATION ,ENABLED}, { 0 ,0 } }; //const NetFnCmds_T g_AMI [] = //{ // /* ---------------YAFU Commands -----------------------------*/ // { CMD_AMI_YAFU_SWITCH_FLASH_DEVICE ,ENABLED}, // { CMD_AMI_YAFU_RESTORE_FLASH_DEVICE ,ENABLED}, // { CMD_AMI_YAFU_GET_FLASH_INFO ,ENABLED}, // { CMD_AMI_YAFU_GET_FIRMWARE_INFO ,ENABLED}, // { CMD_AMI_YAFU_GET_FMH_INFO ,ENABLED}, // { CMD_AMI_YAFU_GET_STATUS ,ENABLED}, // { CMD_AMI_YAFU_ACTIVATE_FLASH ,ENABLED}, // { CMD_AMI_YAFU_ALLOCATE_MEMORY ,ENABLED}, // { CMD_AMI_YAFU_FREE_MEMORY ,ENABLED}, // { CMD_AMI_YAFU_READ_FLASH ,ENABLED}, // { CMD_AMI_YAFU_WRITE_FLASH ,ENABLED}, // { CMD_AMI_YAFU_ERASE_FLASH ,ENABLED}, // { CMD_AMI_YAFU_PROTECT_FLASH ,ENABLED}, // { CMD_AMI_YAFU_ERASE_COPY_FLASH ,ENABLED}, // { CMD_AMI_YAFU_VERIFY_FLASH ,ENABLED}, // { CMD_AMI_YAFU_READ_MEMORY ,ENABLED}, // { CMD_AMI_YAFU_WRITE_MEMORY ,ENABLED}, // { CMD_AMI_YAFU_COPY_MEMORY ,ENABLED}, // { CMD_AMI_YAFU_COMPARE_MEMORY ,ENABLED}, // { CMD_AMI_YAFU_CLEAR_MEMORY ,ENABLED}, // { CMD_AMI_YAFU_GET_BOOT_CONFIG ,ENABLED}, // { CMD_AMI_YAFU_SET_BOOT_CONFIG ,ENABLED}, // { CMD_AMI_YAFU_GET_BOOT_VARS ,ENABLED}, // { CMD_AMI_YAFU_DEACTIVATE_FLASH_MODE ,ENABLED}, // { CMD_AMI_YAFU_RESET_DEVICE ,ENABLED}, // { CMD_AMI_YAFU_GET_ECF_STATUS ,ENABLED}, // { CMD_AMI_YAFU_GET_VERIFY_STATUS ,ENABLED}, // { CMD_AMI_YAFU_DUAL_IMAGE_SUP ,ENABLED}, // { CMD_AMI_GET_CHANNEL_NUM ,ENABLED}, // { CMD_AMI_GET_ETH_INDEX ,ENABLED}, // { CMD_AMI_YAFU_FIRMWARE_SELECT_FLASH ,ENABLED}, // { CMD_AMI_YAFU_SIGNIMAGEKEY_REPLACE ,ENABLED}, // /*-------------------- AMI Smtp Commands -----------------------*/ // { CMD_SET_SMTP_CONFIG_PARAMS ,ENABLED}, // { CMD_GET_SMTP_CONFIG_PARAMS ,ENABLED}, // { CMD_AMI_GET_EMAIL_USER ,ENABLED}, // { CMD_AMI_SET_EMAIL_USER ,ENABLED}, // { CMD_AMI_GET_EMAILFORMAT_USER ,ENABLED}, // { CMD_AMI_SET_EMAILFORMAT_USER ,ENABLED}, // { CMD_AMI_RESET_PASS ,ENABLED}, // { CMD_AMI_RESTORE_DEF ,ENABLED}, // { CMD_AMI_GET_LOG_CONF ,ENABLED}, // { CMD_AMI_SET_LOG_CONF ,ENABLED}, // /*-------------------- AMI Get Bios Code Commands -----------------------------------------*/ // { CMD_AMI_GET_BIOS_CODE ,ENABLED}, // /*-------------------- AMI SERVICE Commands -----------------------------------------*/ // { CMD_AMI_GET_SERVICE_CONF ,ENABLED}, // { CMD_AMI_SET_SERVICE_CONF ,ENABLED}, // { CMD_AMI_LINK_DOWN_RESILENT ,ENABLED}, // /*-------------------- AMI DNS Commands -----------------------------------------*/ // { CMD_AMI_GET_DNS_CONF ,ENABLED}, // { CMD_AMI_SET_DNS_CONF ,ENABLED}, // /*-------------------- AMI Iface State Commands -----------------------------------------*/ // { CMD_AMI_GET_IFACE_STATE ,ENABLED}, // { CMD_AMI_SET_IFACE_STATE ,ENABLED}, // { CMD_AMI_SET_FIREWALL ,ENABLED}, // { CMD_AMI_GET_FIREWALL ,ENABLED}, // { CMD_AMI_GET_FRU_DETAILS ,ENABLED}, // { CMD_AMI_GET_ROOT_USER_ACCESS ,ENABLED}, // { CMD_AMI_SET_ROOT_PASSWORD ,ENABLED}, // { CMD_AMI_GET_USER_SHELLTYPE ,DISABLED}, // { CMD_AMI_SET_USER_SHELLTYPE ,DISABLED}, // { CMD_AMI_SET_EXTENDED_PRIV ,ENABLED}, // { CMD_AMI_GET_EXTENDED_PRIV ,ENABLED}, // { CMD_AMI_SET_TIMEZONE ,ENABLED}, // { CMD_AMI_GET_TIMEZONE ,ENABLED}, // { CMD_AMI_GET_NTP_CFG ,ENABLED}, // { CMD_AMI_SET_NTP_CFG ,ENABLED}, // { CMD_AMI_SET_TRIGGER_EVT ,ENABLED}, // { CMD_AMI_GET_TRIGGER_EVT ,ENABLED}, // { CMD_AMI_GET_SOL_CONFIG_PARAMS ,ENABLED}, // { CMD_AMI_SET_LOGIN_AUDIT_CFG, ENABLED }, // { CMD_AMI_GET_LOGIN_AUDIT_CFG, ENABLED }, // { CMD_AMI_GET_IPV6_ADDRESS, ENABLED }, // { CMD_AMI_SET_SNMP_CONF, ENABLED }, // { CMD_AMI_GET_SNMP_CONF, ENABLED }, // { CMD_AMI_SET_PAM_ORDER, ENABLED }, // { CMD_AMI_GET_PAM_ORDER, ENABLED }, // { CMD_AMI_GET_CHANNEL_TYPE, ENABLED }, // /*------------------------------ AMI SEL Commands ------------------------------*/ // { CMD_AMI_GET_SEL_POLICY, ENABLED }, // { CMD_AMI_SET_SEL_POLICY, ENABLED }, // { CMD_AMI_SET_PRESERVE_CONF, ENABLED }, // { CMD_AMI_GET_PRESERVE_CONF, ENABLED }, // { CMD_AMI_GET_SEL_ENTIRES, ENABLED }, // { CMD_AMI_GET_SENSOR_INFO, ENABLED }, // { CMD_AMI_SET_ALL_PRESERVE_CONF, ENABLED }, // { CMD_AMI_GET_ALL_PRESERVE_CONF, ENABLED }, // /*------------------------------- TFTP Firmware Update -------------------------*/ // { CMD_AMI_START_TFTP_FW_UPDATE, ENABLED }, // { CMD_AMI_GET_TFTP_FW_PROGRESS_STATUS, ENABLED }, // { CMD_AMI_SET_FW_CONFIGURATION, ENABLED }, // { CMD_AMI_GET_FW_CONFIGURATION, ENABLED }, // { CMD_AMI_SET_FW_PROTOCOL, ENABLED }, // { CMD_AMI_GET_FW_PROTOCOL, ENABLED }, // { CMD_AMI_GET_IPMI_SESSION_TIMEOUT, ENABLED}, // // /*------------------------------- UDS Channel Info Command ---------------------*/ // { CMD_AMI_GET_UDS_CHANNEL_INFO, ENABLED }, // { CMD_AMI_GET_UDS_SESSION_INFO, ENABLED }, // // /*-------------------------------AMI Dual Image Support Command-----------------*/ // { CMD_AMI_DUAL_IMG_SUPPORT, ENABLED }, // /*---------- Password Encryption Key--------- */ // { CMD_AMI_SET_PWD_ENCRYPTION_KEY, ENABLED }, // /*-------------------------------U-Boot Memory Test-----------------------------*/ // { CMD_AMI_SET_UBOOT_MEMTEST, ENABLED}, // { CMD_AMI_GET_UBOOT_MEMTEST_STATUS, ENABLED}, // /*-------------------- AMI Remote Images serviceCommands ----------------------------*/ // { CMD_AMI_GET_RIS_CONF ,ENABLED}, // { CMD_AMI_SET_RIS_CONF ,ENABLED}, // { CMD_AMI_RIS_START_STOP ,ENABLED}, // /*---------------------AMI Control Debug Messages Commands-----------------------*/ // { CMD_AMI_CTL_DBG_MSG, ENABLED }, // { CMD_AMI_GET_DBG_MSG_STATUS, ENABLED }, // { CMD_AMI_VIRTUAL_DEVICE_SET_STATUS, ENABLED }, // { CMD_AMI_VIRTUAL_DEVICE_GET_STATUS, ENABLED }, // // { CMD_AMI_GET_LICENSE_VALIDITY, ENABLED}, // { CMD_AMI_ADD_LICENSE_KEY, ENABLED}, // {0 ,0 } //}; //const NetFnCmds_T g_opma1 [] = //{ // { CMD_OPMA_SET_SENSOR_RD_OFFSET ,ENABLED}, // { CMD_OPMA_GET_SENSOR_RD_OFFSET ,ENABLED}, // { 0 ,0 } //}; //const NetFnCmds_T g_opma2 [] = //{ // { CMD_OPMA_SET_SYS_TYPE_ID ,ENABLED}, // { CMD_OPMA_GET_SYS_TYPE_ID ,ENABLED}, // { CMD_OPMA_GET_MCARD_CAP ,ENABLED}, // { CMD_OPMA_CLR_CMOS ,ENABLED}, // { CMD_OPMA_SET_LOCAL_LOCKOUT ,ENABLED}, // { CMD_OPMA_GET_LOCAL_LOCKOUT ,ENABLED}, // { CMD_OPMA_GET_SUPPORTED_HOST_IDS ,ENABLED}, // { 0 ,0 } //}; //const NetFnCmds_T g_apml [] = //{ // {CMD_APML_GET_INTERFACE_VERSION ,ENABLED }, // {CMD_APML_READ_RMI_REG ,ENABLED}, // {CMD_APML_WRITE_RMI_REG ,ENABLED}, // {CMD_APML_READ_CPUID ,ENABLED}, // {CMD_APML_READ_HTC_REG ,ENABLED}, // {CMD_APML_WRITE_HTC_REG ,ENABLED}, // {CMD_APML_READ_PSTATE ,ENABLED}, // {CMD_APML_READ_MAX_PSTATE ,ENABLED}, // {CMD_APML_READ_PSTATE_LIMIT ,ENABLED}, // {CMD_APML_WRITE_PSTATE_LIMIT ,ENABLED}, // {CMD_APML_READ_MCR ,ENABLED}, // {CMD_APML_WRITE_MCR ,ENABLED}, // {CMD_APML_READ_TSI_REG ,ENABLED}, // {CMD_APML_WRITE_TSI_REG ,ENABLED}, // {CMD_APML_READ_TDP_LIMIT_REG ,ENABLED}, // {CMD_APML_WRITE_TDP_LIMIT_REG ,ENABLED}, // {CMD_APML_READ_PROCESSOR_POWER_REG ,ENABLED}, // {CMD_APML_READ_POWER_AVERAGING_REG ,ENABLED}, // {CMD_APML_READ_DRAM_THROTTLE_REG ,ENABLED}, // {CMD_APML_WRITE_DRAM_THROTTLE_REG ,ENABLED}, // {0 ,0 } //}; //const NetFnCmds_T g_dcmi [] = //{ // /* DCMI Commands */ // { CMD_GET_DCMI_CAPABILITY_INFO ,ENABLED}, // { CMD_GET_POWER_READING ,ENABLED}, // { CMD_GET_POWER_LIMIT ,ENABLED}, // { CMD_SET_POWER_LIMIT ,ENABLED}, // { CMD_ACTIVATE_POWER_LIMIT ,ENABLED}, // { CMD_GET_ASSET_TAG ,ENABLED}, // { CMD_GET_DCMI_SENSOR_INFO ,ENABLED}, // { CMD_SET_ASSET_TAG ,ENABLED}, // { CMD_GET_MANAGEMENT_CONTROLLER_ID_STRING ,ENABLED}, // { CMD_SET_MANAGEMENT_CONTROLLER_ID_STRING ,ENABLED}, // {CMD_SET_THERMAL_LIMIT ,ENABLED}, // {CMD_GET_THERMAL_LIMIT ,ENABLED}, // {CMD_GET_TEMPERATURE_READING ,ENABLED}, // {CMD_SET_DCMI_CONF_PARAMS ,ENABLED}, // {CMD_GET_DCMI_CONF_PARAMS ,ENABLED}, // { 0 ,0 } //}; //const NetFnCmds_T g_hpm [] = //{ // //PICMG // {CMD_GET_PICMG_PROPERTIES ,ENABLED}, // {CMD_GET_ADDR_INFO ,ENABLED}, // {CMD_GET_DEV_LOCATOR_REC_ID ,ENABLED}, // // //hpm // { CMD_GET_TARGET_UPLD_CAPABLITIES, ENABLED}, // { CMD_GET_COMPONENT_PROPERTIES, ENABLED}, // { CMD_INITIATE_UPG_ACTION, ENABLED}, // { CMD_QUERY_SELF_TEST_RESULTS, ENABLED}, // { CMD_ABORT_FIRMWARE_UPGRADE, ENABLED}, // { CMD_UPLOAD_FIRMWARE_BLOCK, ENABLED}, // { CMD_FINISH_FIRMWARE_UPLOAD, ENABLED}, // { CMD_GET_UPGRADE_STATUS, ENABLED}, // { CMD_ACTIVATE_FIRMWARE, ENABLED}, // { CMD_QUERY_ROLLBACK_STATUS, ENABLED}, // { CMD_INITIATE_MANUAL_ROLLBACK, ENABLED}, // { 0, 0 } //}; //const NetFnCmds_T g_pnm [] = //{ // {CMD_PNM_OEM_GET_READING ,ENABLED}, // {CMD_PNM_OEM_ME_POWER_STATE_CHANGE ,ENABLED}, // {0 ,0 } //}; //const NetFnCmds_T g_ssi [] = //{ // { CMD_SSICB_GET_COMPUTE_BLADE_PROPERTIES, ENABLED}, // { CMD_SSICB_GET_ADDR_INFO, ENABLED}, // { CMD_SSICB_PLATFORM_EVENT_MESSAGE, ENABLED}, // { CMD_SSICB_MODULE_BMI_CONTROL, ENABLED}, // { CMD_SSICB_MODULE_PAYLOAD_CONTROL, ENABLED}, // { CMD_SSICB_SET_SYSTEM_EVENT_LOG_POLICY, ENABLED}, // { CMD_SSICB_SET_MODULE_ACTIVATION_POLICY, ENABLED}, // { CMD_SSICB_GET_MODULE_ACTIVATION_POLICY, ENABLED}, // { CMD_SSICB_SET_MODULE_ACTIVATION, ENABLED}, // { CMD_SSICB_SET_POWER_LEVEL, ENABLED}, // { CMD_SSICB_GET_POWER_LEVEL, ENABLED}, // { CMD_SSICB_RENEGOTIATE_POWER, ENABLED}, // { CMD_SSICB_GET_SERVICE_INFO, ENABLED}, // { CMD_SSICB_GET_APPLET_PACKAGE_URI, ENABLED}, // { CMD_SSICB_GET_SERVICE_ENABLE_STATE, ENABLED}, // { CMD_SSICB_SET_SERVICE_ENABLE_STATE, ENABLED}, // { CMD_SSICB_SET_SERVICE_TICKET, ENABLED}, // { CMD_SSICB_STOP_SERVICE_SESSION, ENABLED}, // { 0, 0} //}; const NetFnCmds_T g_oem[] = //jimbo add { { CMD_EXAMPLE_0h , ENABLED}, { CMD_EXAMPLE_1h , ENABLED}, { CMD_EXAMPLE_1h , ENABLED}, { CMD_EXAMPLE_2h , ENABLED}, { CMD_EXAMPLE_3h , ENABLED}, { CMD_EXAMPLE_4h , ENABLED}, { CMD_EXAMPLE_5h , ENABLED}, { CMD_EXAMPLE_6h , ENABLED}, { CMD_EXAMPLE_7h , ENABLED}, { CMD_EXAMPLE_8h , ENABLED}, { CMD_EXAMPLE_9h , ENABLED}, { CMD_EXAMPLE_ah , ENABLED}, { CMD_EXAMPLE_bh , ENABLED}, { CMD_EXAMPLE_ch , ENABLED}, { CMD_EXAMPLE_dh , ENABLED}, { CMD_EXAMPLE_eh , ENABLED}, { CMD_EXAMPLE_fh , ENABLED}, { CMD_EXAMPLE_10h , ENABLED}, { CMD_EXAMPLE_11h , ENABLED}, { CMD_EXAMPLE_12h , ENABLED}, { CMD_EXAMPLE_13h , ENABLED}, { CMD_EXAMPLE_14h , ENABLED}, { CMD_EXAMPLE_15h , ENABLED}, { CMD_EXAMPLE_16h , ENABLED}, { CMD_EXAMPLE_17h , ENABLED}, { CMD_EXAMPLE_18h , ENABLED}, { CMD_EXAMPLE_19h , ENABLED}, { CMD_EXAMPLE_1ah , ENABLED}, { CMD_EXAMPLE_1bh , ENABLED}, { CMD_EXAMPLE_1ch , ENABLED}, { CMD_EXAMPLE_1dh , ENABLED}, { CMD_EXAMPLE_1eh , ENABLED}, { CMD_EXAMPLE_1fh , ENABLED}, { CMD_EXAMPLE_20h , ENABLED}, { CMD_EXAMPLE_21h , ENABLED}, { CMD_EXAMPLE_22h , ENABLED}, { CMD_EXAMPLE_23h , ENABLED}, { CMD_EXAMPLE_24h , ENABLED}, { CMD_EXAMPLE_25h , ENABLED}, { CMD_EXAMPLE_26h , ENABLED}, { CMD_EXAMPLE_27h , ENABLED}, { CMD_EXAMPLE_28h , ENABLED}, { CMD_EXAMPLE_29h , ENABLED}, { CMD_EXAMPLE_2ah , ENABLED}, { CMD_EXAMPLE_2bh , ENABLED}, { CMD_EXAMPLE_2ch , ENABLED}, { CMD_EXAMPLE_2dh , ENABLED}, { CMD_EXAMPLE_2eh , ENABLED}, { CMD_EXAMPLE_2fh , ENABLED}, { CMD_EXAMPLE_30h , ENABLED}, { CMD_EXAMPLE_31h , ENABLED}, { CMD_EXAMPLE_32h , ENABLED}, { CMD_EXAMPLE_33h , ENABLED}, { CMD_EXAMPLE_34h , ENABLED}, { CMD_EXAMPLE_35h , ENABLED}, { CMD_EXAMPLE_36h , ENABLED}, { CMD_EXAMPLE_37h , ENABLED}, { CMD_EXAMPLE_38h , ENABLED}, { CMD_EXAMPLE_39h , ENABLED}, { CMD_EXAMPLE_3ah , ENABLED}, { CMD_EXAMPLE_3bh , ENABLED}, { CMD_EXAMPLE_3ch , ENABLED}, { CMD_EXAMPLE_3dh , ENABLED}, { CMD_EXAMPLE_3eh , ENABLED}, { CMD_EXAMPLE_3fh , ENABLED}, { CMD_EXAMPLE_40h , ENABLED}, { CMD_EXAMPLE_41h , ENABLED}, { CMD_EXAMPLE_42h , ENABLED}, { CMD_EXAMPLE_43h , ENABLED}, { CMD_EXAMPLE_44h , ENABLED}, { CMD_EXAMPLE_45h , ENABLED}, { CMD_EXAMPLE_46h , ENABLED}, { CMD_EXAMPLE_47h , ENABLED}, { CMD_EXAMPLE_48h , ENABLED}, { CMD_EXAMPLE_49h , ENABLED}, { CMD_EXAMPLE_4ah , ENABLED}, { CMD_EXAMPLE_4bh , ENABLED}, { CMD_EXAMPLE_4ch , ENABLED}, { CMD_EXAMPLE_4dh , ENABLED}, { CMD_EXAMPLE_4eh , ENABLED}, { CMD_EXAMPLE_4fh , ENABLED}, { CMD_EXAMPLE_50h , ENABLED}, { CMD_EXAMPLE_51h , ENABLED}, { CMD_EXAMPLE_52h , ENABLED}, { CMD_EXAMPLE_53h , ENABLED}, { CMD_EXAMPLE_54h , ENABLED}, { CMD_EXAMPLE_55h , ENABLED}, { CMD_EXAMPLE_56h , ENABLED}, { CMD_EXAMPLE_57h , ENABLED}, { CMD_EXAMPLE_58h , ENABLED}, { CMD_EXAMPLE_59h , ENABLED}, { CMD_EXAMPLE_5ah , ENABLED}, { CMD_EXAMPLE_5bh , ENABLED}, { CMD_EXAMPLE_5ch , ENABLED}, { CMD_EXAMPLE_5dh , ENABLED}, { CMD_EXAMPLE_5eh , ENABLED}, { CMD_EXAMPLE_5fh , ENABLED}, { CMD_EXAMPLE_60h , ENABLED}, { CMD_EXAMPLE_61h , ENABLED}, { CMD_EXAMPLE_62h , ENABLED}, { CMD_EXAMPLE_63h , ENABLED}, { CMD_EXAMPLE_64h , ENABLED}, { CMD_EXAMPLE_65h , ENABLED}, { CMD_EXAMPLE_66h , ENABLED}, { CMD_EXAMPLE_67h , ENABLED}, { CMD_EXAMPLE_68h , ENABLED}, { CMD_EXAMPLE_69h , ENABLED}, { CMD_EXAMPLE_6ah , ENABLED}, { CMD_EXAMPLE_6bh , ENABLED}, { CMD_EXAMPLE_6ch , ENABLED}, { CMD_EXAMPLE_6dh , ENABLED}, { CMD_EXAMPLE_6eh , ENABLED}, { CMD_EXAMPLE_6fh , ENABLED}, { CMD_EXAMPLE_70h , ENABLED}, { CMD_EXAMPLE_71h , ENABLED}, { CMD_EXAMPLE_72h , ENABLED}, { CMD_EXAMPLE_73h , ENABLED}, { CMD_EXAMPLE_74h , ENABLED}, { CMD_EXAMPLE_75h , ENABLED}, { CMD_EXAMPLE_76h , ENABLED}, { CMD_EXAMPLE_77h , ENABLED}, { CMD_EXAMPLE_78h , ENABLED}, { CMD_EXAMPLE_79h , ENABLED}, { CMD_EXAMPLE_7ah , ENABLED}, { CMD_EXAMPLE_7bh , ENABLED}, { CMD_EXAMPLE_7ch , ENABLED}, { CMD_EXAMPLE_7dh , ENABLED}, { CMD_EXAMPLE_7eh , ENABLED}, { CMD_EXAMPLE_7fh , ENABLED}, /********* storlead oem command ***********/ { CMD_EXAMPLE_80h , ENABLED}, { CMD_EXAMPLE_81h , ENABLED}, { CMD_EXAMPLE_82h , ENABLED}, { CMD_EXAMPLE_83h , ENABLED}, { CMD_EXAMPLE_84h , ENABLED}, { CMD_EXAMPLE_85h , ENABLED}, { CMD_EXAMPLE_86h , ENABLED}, { CMD_EXAMPLE_87h , ENABLED}, { CMD_EXAMPLE_88h , ENABLED}, { CMD_EXAMPLE_89h , ENABLED}, { CMD_EXAMPLE_8ah , ENABLED}, { CMD_EXAMPLE_8bh , ENABLED}, { CMD_EXAMPLE_8ch , ENABLED}, { CMD_EXAMPLE_8dh , ENABLED}, { CMD_EXAMPLE_8eh , ENABLED}, { CMD_EXAMPLE_8fh , ENABLED}, { CMD_EXAMPLE_90h , ENABLED}, { CMD_EXAMPLE_91h , ENABLED}, { CMD_EXAMPLE_92h , ENABLED}, { CMD_EXAMPLE_93h , ENABLED}, { CMD_EXAMPLE_94h , ENABLED}, { CMD_EXAMPLE_95h , ENABLED}, { CMD_EXAMPLE_96h , ENABLED}, { CMD_EXAMPLE_97h , ENABLED}, { CMD_EXAMPLE_98h , ENABLED}, { CMD_EXAMPLE_99h , ENABLED}, { CMD_EXAMPLE_9ah , ENABLED}, { CMD_EXAMPLE_9bh , ENABLED}, { CMD_EXAMPLE_9ch , ENABLED}, { CMD_EXAMPLE_9dh , ENABLED}, { CMD_EXAMPLE_9eh , ENABLED}, { CMD_EXAMPLE_9fh , ENABLED}, /************************************************************/ { CMD_EXAMPLE_a0h , ENABLED}, { CMD_EXAMPLE_a1h , ENABLED}, { CMD_EXAMPLE_a2h , ENABLED}, { CMD_EXAMPLE_a3h , ENABLED}, { CMD_EXAMPLE_a4h , ENABLED}, { CMD_EXAMPLE_a5h , ENABLED}, { CMD_EXAMPLE_a6h , ENABLED}, { CMD_EXAMPLE_a7h , ENABLED}, { CMD_EXAMPLE_a8h , ENABLED}, { CMD_EXAMPLE_a9h , ENABLED}, { CMD_EXAMPLE_aah , ENABLED}, { CMD_EXAMPLE_abh , ENABLED}, { CMD_EXAMPLE_ach , ENABLED}, { CMD_EXAMPLE_adh , ENABLED}, { CMD_EXAMPLE_aeh , ENABLED}, { CMD_EXAMPLE_afh , ENABLED}, { CMD_EXAMPLE_b0h , ENABLED}, { CMD_EXAMPLE_b1h , ENABLED}, { CMD_EXAMPLE_b2h , ENABLED}, { CMD_EXAMPLE_b3h , ENABLED}, { CMD_EXAMPLE_b4h , ENABLED}, { CMD_EXAMPLE_b5h , ENABLED}, { CMD_EXAMPLE_b6h , ENABLED}, { CMD_EXAMPLE_b7h , ENABLED}, { CMD_EXAMPLE_b8h , ENABLED}, { CMD_EXAMPLE_b9h , ENABLED}, { CMD_EXAMPLE_bah , ENABLED}, { CMD_EXAMPLE_bbh , ENABLED}, { CMD_EXAMPLE_bch , ENABLED}, { CMD_EXAMPLE_bdh , ENABLED}, { CMD_EXAMPLE_beh , ENABLED}, { CMD_EXAMPLE_bfh , ENABLED}, { CMD_EXAMPLE_c0h , ENABLED}, { CMD_EXAMPLE_c1h , ENABLED}, { CMD_EXAMPLE_c2h , ENABLED}, { CMD_EXAMPLE_c3h , ENABLED}, { CMD_EXAMPLE_c4h , ENABLED}, { CMD_EXAMPLE_c5h , ENABLED}, { CMD_EXAMPLE_c6h , ENABLED}, { CMD_EXAMPLE_c7h , ENABLED}, { CMD_EXAMPLE_c8h , ENABLED}, { CMD_EXAMPLE_c9h , ENABLED}, { CMD_EXAMPLE_cah , ENABLED}, { CMD_EXAMPLE_cbh , ENABLED}, { CMD_EXAMPLE_cch , ENABLED}, { CMD_EXAMPLE_cdh , ENABLED}, { CMD_EXAMPLE_ceh , ENABLED}, { CMD_EXAMPLE_cfh , ENABLED}, { CMD_EXAMPLE_d0h , ENABLED}, { CMD_EXAMPLE_d1h , ENABLED}, { CMD_EXAMPLE_d2h , ENABLED}, { CMD_EXAMPLE_d3h , ENABLED}, { CMD_EXAMPLE_d4h , ENABLED}, { CMD_EXAMPLE_d5h , ENABLED}, { CMD_EXAMPLE_d6h , ENABLED}, { CMD_EXAMPLE_d7h , ENABLED}, { CMD_EXAMPLE_d8h , ENABLED}, { CMD_EXAMPLE_d9h , ENABLED}, { CMD_EXAMPLE_dah , ENABLED}, { CMD_EXAMPLE_dbh , ENABLED}, { CMD_EXAMPLE_dch , ENABLED}, { CMD_EXAMPLE_ddh , ENABLED}, { CMD_EXAMPLE_deh , ENABLED}, { CMD_EXAMPLE_dfh , ENABLED}, { CMD_EXAMPLE_e0h , ENABLED}, { CMD_EXAMPLE_e1h , ENABLED}, { CMD_EXAMPLE_e2h , ENABLED}, { CMD_EXAMPLE_e3h , ENABLED}, { CMD_EXAMPLE_e4h , ENABLED}, { CMD_EXAMPLE_e5h , ENABLED}, { CMD_EXAMPLE_e6h , ENABLED}, { CMD_EXAMPLE_e7h , ENABLED}, { CMD_EXAMPLE_e8h , ENABLED}, { CMD_EXAMPLE_e9h , ENABLED}, { CMD_EXAMPLE_eah , ENABLED}, { CMD_EXAMPLE_ebh , ENABLED}, { CMD_EXAMPLE_ech , ENABLED}, { CMD_EXAMPLE_edh , ENABLED}, { CMD_EXAMPLE_eeh , ENABLED}, { CMD_EXAMPLE_efh , ENABLED}, { CMD_EXAMPLE_f0h , ENABLED}, { CMD_EXAMPLE_f1h , ENABLED}, { CMD_EXAMPLE_f2h , ENABLED}, { CMD_EXAMPLE_f3h , ENABLED}, { CMD_EXAMPLE_f4h , ENABLED}, { CMD_EXAMPLE_f5h , ENABLED}, { CMD_EXAMPLE_f6h , ENABLED}, { CMD_EXAMPLE_f7h , ENABLED}, { CMD_EXAMPLE_f8h , ENABLED}, { CMD_EXAMPLE_f9h , ENABLED}, { CMD_EXAMPLE_fah , ENABLED}, { CMD_EXAMPLE_fbh , ENABLED}, { CMD_EXAMPLE_fch , ENABLED}, { CMD_EXAMPLE_fdh , ENABLED}, { CMD_EXAMPLE_feh , ENABLED}, { CMD_EXAMPLE_ffh , ENABLED}, {0, 0} }; const NetFnCmds_T g_Storlead [] = { /*------------------------- IPM Device Commands --------------------------------------*/ { CMD_GET_SYS_INFO ,ENABLED}, { CMD_GET_SENSOR_INFO ,ENABLED}, { CMD_GET_SEL_ENTIRES ,ENABLED}, { CMD_AUTHOR_VERIFY ,ENABLED}, { CMD_GET_SENSOR_HISTORY ,ENABLED}, { CMD_GET_FAN_INFO ,ENABLED}, { CMD_SET_FAN_INFO ,ENABLED}, { CMD_GET_ALLBLADE_INFO ,ENABLED}, // { CMD_SET_MANAGE_FN ,ENABLED}, // { CMD_GET_MANAGE_FN ,ENABLED}, { CMD_GET_CHASSIS_INFO ,ENABLED}, { CMD_RESTORE_FACTORY_SET ,ENABLED}, { CMD_GET_LAN_INFO ,ENABLED}, { CMD_SET_LAN_INFO ,ENABLED}, { CMD_GET_BLADE_INFO ,ENABLED}, { CMD_GET_SENSOR_NAME ,ENABLED}, {0, 0 }, }; NETFNTable_T Netfntbl [] = { { NETFN_APP, GRPEXT_NA, g_App }, { NETFN_CHASSIS, GRPEXT_NA, g_Chassis }, { NETFN_BRIDGE, GRPEXT_NA, g_Bridge }, { NETFN_SENSOR, GRPEXT_NA, g_Sensor }, { NETFN_STORAGE, GRPEXT_NA, g_Storage }, { NETFN_STORLEAD, GRPEXT_NA, g_Storlead }, { NETFN_TRANSPORT, GRPEXT_NA, g_Transport }, // { NETFN_AMI, GRPEXT_NA, g_AMI }, // { NETFN_OPMA1, GRPEXT_NA, g_opma1 }, // { NETFN_OPMA2, GRPEXT_NA, g_opma2 }, // { NETFN_APML, GRPEXT_NA, g_apml }, // { NETFN_HPM, GRPEXT_HPM, g_hpm }, //jimbo add picmg // { NETFN_DCMI, GRPEXT_DCMI, g_dcmi }, // { NETFN_PNM, GRPEXT_NA, g_pnm }, // { NETFN_SSI, GRPEXT_SSI, g_ssi }, { NETFN_OEM, GRPEXT_NA, g_oem }, //jimbo add // { NETFN_PICMG, GRPEXT_PICMG, g_picmg }, //jimbo add }; /* *@fn GetCommanEnabledStatus *@brief This function finds whether the command is enabled by the OEM *@param NetFunction - Pointer to the structure of NetFnCmds_T *@param Cmd - Command Number *@return Returns 0 on Enabled commands * Returns -1 on non-Enabled commands */ int GetCommanEnabledStatus(NETFNTable_T *NetFuntbl,uint8_t Cmd) { int i=0; while(NetFuntbl->NetFunction[i].Status != 0) { if(NetFuntbl->NetFunction[i].CmdNum == Cmd) { if(NetFuntbl->NetFunction[i].Status == ENABLED) { return 0; } else { return -1; } } i++; } return -1; } /* *@fn IsCommandEnabled *@brief This function gives the status of Command *@param NetFn - Net Function *@param GroupExtnCode - Group Extension Code *@param Cmd - Command Number *@return Returns 0 if the command is Enabled * Returns -1 if the command is Disabled */ int IsCommandEnabled(uint8_t NetFn,uint8_t* GroupExtnCode,uint8_t Cmd) { int i=0; while(i<(sizeof(Netfntbl)/sizeof(NETFNTable_T))) { if(NetFn == Netfntbl[i].NetFn) { if (Netfntbl[i].NetFn == NETFN_DCMI) { //printf("---> i=%d, NetFn = %#x\n", i, Netfntbl[i].NetFn); if(GroupExtnCode != NULL) { if (Netfntbl[i].GroupExtCode == *GroupExtnCode) { //printf("---> i = %d, GroupExtnCode = %#x\n", i, *GroupExtnCode); break; } } } else { //printf("---> netfn log\n"); break; } } i++; } if(i != sizeof(Netfntbl)/sizeof(NETFNTable_T)) { if(GetCommanEnabledStatus((NETFNTable_T*)&Netfntbl[i],Cmd) < 0) { printf("Warning: invalid command\n"); return -1; } } else { printf("Warning: not find netfn\n"); return -1; } return 0; }