From 26db317acc4e0c2cc7023f24a8128cd9b86bacf0 Mon Sep 17 00:00:00 2001 From: Daocheng Bu Date: Wed, 23 Dec 2015 12:24:24 +0000 Subject: MdePkg: Update Ipmi2.0 definitions header file. Update Ipmi2.0 definitions header files for data structure name suffix for request/response data and completion code. (Sync patch r19484 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daocheng Bu Reviewed-by: Liming Gao git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19493 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Include/IndustryStandard/IpmiNetFnApp.h | 61 +++++++++-------- MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h | 31 ++++----- .../IndustryStandard/IpmiNetFnSensorEvent.h | 2 +- MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h | 80 ++++++++++++---------- .../Include/IndustryStandard/IpmiNetFnTransport.h | 4 +- 5 files changed, 95 insertions(+), 83 deletions(-) (limited to 'MdePkg') diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h b/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h index c0865dae41..31f9e839ea 100644 --- a/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h +++ b/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h @@ -43,6 +43,7 @@ // Constants and Structure definitions for "Get Device ID" command to follow here // typedef struct { + UINT8 CompletionCode; UINT8 DeviceId; UINT8 DeviceRevision : 4; UINT8 Reserved : 3; @@ -62,7 +63,7 @@ typedef struct { UINT8 ManufacturerId[3]; UINT16 ProductId; UINT32 AuxFirmwareRevInfo; -} IPMI_MSG_GET_DEVICE_ID_RSP; +} IPMI_GET_DEVICE_ID_RESPONSE; // @@ -89,12 +90,13 @@ typedef struct { #define IPMI_APP_GET_SELFTEST_RESULTS 0x4 // -// Constants and Structure definitions for "Get Self Results" command to follow here +// Constants and Structure definitions for "Get Self Test Results" command to follow here // typedef struct { + UINT8 CompletionCode; UINT8 Result; UINT8 Param; -} IPMI_MSG_SELFTEST_RESULT_RSP; +} IPMI_SELF_TEST_RESULT_RESPONSE; #define IPMI_APP_SELFTEST_NO_ERROR 0x55 #define IPMI_APP_SELFTEST_NOT_IMPLEMENTED 0x56 @@ -127,11 +129,11 @@ typedef struct { // Constants and Structure definitions for "Set ACPI Power State" command to follow here // typedef struct { - UINT8 SystemPowerState : 7; - UINT8 SystemStateChange : 1; - UINT8 DevicePowerState : 7; - UINT8 DeviceStateChange : 1; -} IPMI_ACPI_POWER_STATE; + UINT8 AcpiSystemPowerState : 7; + UINT8 AcpiSystemStateChange : 1; + UINT8 AcpiDevicePowerState : 7; + UINT8 AcpiDeviceStateChange : 1; +} IPMI_SET_ACPI_POWER_STATE_REQUEST; // // Definitions for Get ACPI Power State command @@ -154,8 +156,9 @@ typedef struct { // Message structure definition for "Get Device Guid" IPMI command // typedef struct { - UINT8 Guid[16]; -} IPMI_MSG_GET_DEVICE_GUID_RSP; + UINT8 CompletionCode; + UINT8 Guid[16]; +} IPMI_GET_DEVICE_GUID_RESPONSE; // // Below is Definitions for BMC Watchdog Timer Commands (Chapter 27) @@ -190,7 +193,7 @@ typedef struct { UINT8 PretimeoutInterval; UINT8 TimerUseExpirationFlagsClear; UINT16 InitialCountdownValue; -} IPMI_SET_WATCHDOG_TIMER; +} IPMI_SET_WATCHDOG_TIMER_REQUEST; // // Definitions for Get WatchDog Timer command @@ -201,13 +204,14 @@ typedef struct { // Constants and Structure definitions for "Get WatchDog Timer" command to follow here // typedef struct { + UINT8 CompletionCode; IPMI_WATCHDOG_TIMER_USE TimerUse; UINT8 TimerActions; UINT8 PretimeoutInterval; UINT8 TimerUseExpirationFlagsClear; UINT16 InitialCountdownValue; UINT16 PresentCountdownValue; -} IPMI_GET_WATCHDOG_TIMER; +} IPMI_GET_WATCHDOG_TIMER_RESPONSE; // // Below is Definitions for IPMI Messaging Support Commands (Chapter 22) @@ -384,20 +388,21 @@ typedef struct { // Constants and Structure definitions for "Get Channel Access" command to follow here // typedef struct { - UINT8 ChannelNo : 4; - UINT8 Reserve1 : 4; - UINT8 Reserve2 : 6; - UINT8 MemoryType : 2; -} IPMI_GET_CHANNEL_ACCESS_COMMAND; + UINT8 ChannelNo : 4; + UINT8 Reserve1 : 4; + UINT8 Reserve2 : 6; + UINT8 MemoryType : 2; +} IPMI_GET_CHANNEL_ACCESS_REQUEST; typedef struct { - UINT8 AccessMode : 3; - UINT8 UserLevelAuthEnabled : 1; - UINT8 MessageAuthEnable : 1; - UINT8 Alert : 1; - UINT8 Reserve1 : 2; - UINT8 ChannelPriviledgeLimit : 4; - UINT8 Reserve2 : 4; + UINT8 CompletionCode; + UINT8 AccessMode : 3; + UINT8 UserLevelAuthEnabled : 1; + UINT8 MessageAuthEnable : 1; + UINT8 Alert : 1; + UINT8 Reserve1 : 2; + UINT8 ChannelPriviledgeLimit : 4; + UINT8 Reserve2 : 4; } IPMI_GET_CHANNEL_ACCESS_RESPONSE; // @@ -409,6 +414,7 @@ typedef struct { // Constants and Structure definitions for "Get Channel Info" command to follow here // typedef struct { + UINT8 CompletionCode; UINT8 ChannelNo : 4; UINT8 Reserve1 : 4; UINT8 ChannelMediumType : 7; @@ -417,10 +423,9 @@ typedef struct { UINT8 Reserve3 : 3; UINT8 ActiveSessionCount : 6; UINT8 SessionSupport : 2; - UINT32 VendorId : 24; - UINT16 AuxChannelInfo : 16; - UINT8 Dummy; -} IPMI_CHANNEL_INFO; + UINT8 VendorId[3]; + UINT16 AuxChannelInfo; +} IPMI_GET_CHANNEL_INFO_RESPONSE; // // Definitions for Get Channel Info command diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h b/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h index 7bf6cf3101..b549dc4366 100644 --- a/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h +++ b/MdePkg/Include/IndustryStandard/IpmiNetFnChassis.h @@ -117,10 +117,11 @@ typedef enum { } IPMI_SYSTEM_RESTART_CAUSE; typedef struct { - UINT8 Cause:4; - UINT8 Reserved:4; - UINT8 ChannelNumber; -} GET_SYSTEM_RESTART_CAUSE_RESPONSE; + UINT8 CompletionCode; + UINT8 Cause:4; + UINT8 Reserved:4; + UINT8 ChannelNumber; +} IPMI_GET_SYSTEM_RESTART_CAUSE_RESPONSE; // // Definitions for Set System BOOT options command @@ -136,10 +137,6 @@ typedef struct { UINT8 ParameterData[1]; } IPMI_SET_BOOT_OPTIONS_REQUEST; -typedef struct { - UINT8 CompletionCode:8; -} IPMI_SET_BOOT_OPTIONS_RESPONSE; - // // Definitions for Get System BOOT options command // @@ -148,6 +145,13 @@ typedef struct { // // Constants and Structure definitions for "Get System boot options" command to follow here // +typedef struct { + UINT8 ParameterSelector:7; + UINT8 Reserved:1; + UINT8 SetSelector; + UINT8 BlockSelector; +} IPMI_GET_BOOT_OPTIONS_REQUEST; + typedef struct { UINT8 Parameter; UINT8 Valid; @@ -167,12 +171,6 @@ typedef struct { UINT8 Reserved[3]; } IPMI_BOOT_INITIATOR; -typedef struct { - UINT8 ParameterSelector; - UINT8 SetSelector; - UINT8 BlockSelector; -} IPMI_GET_BOOT_OPTIONS_REQUEST; - // // Response Parameters for IPMI Get Boot Options // @@ -259,6 +257,7 @@ typedef union { } IPMI_BOOT_OPTIONS_PARAMETERS; typedef struct { + UINT8 CompletionCode; UINT8 ParameterVersion:4; UINT8 Reserved:4; UINT8 ParameterSelector:7; @@ -269,7 +268,7 @@ typedef struct { // // Definitions for Set front panel button enables command // -#define IPMI_CHASSIS_SET_FP_BUTTON_ENABLES 0x0A +#define IPMI_CHASSIS_SET_FRONT_PANEL_BUTTON_ENABLES 0x0A typedef struct { UINT8 DisablePoweroffButton:1; @@ -277,7 +276,7 @@ typedef struct { UINT8 DisableDiagnosticInterruptButton:1; UINT8 DisableStandbyButton:1; UINT8 Reserved:4; -} IPMI_SET_FRONT_PANEL_BUTTON_ENABLES_REQUEST; +} IPMI_CHASSIS_SET_FRONT_PANEL_BUTTON_ENABLES_REQUEST; // // Constants and Structure definitions for "Set front panel button enables" command to follow here diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnSensorEvent.h b/MdePkg/Include/IndustryStandard/IpmiNetFnSensorEvent.h index bc35634826..a3cfad1bcd 100644 --- a/MdePkg/Include/IndustryStandard/IpmiNetFnSensorEvent.h +++ b/MdePkg/Include/IndustryStandard/IpmiNetFnSensorEvent.h @@ -46,7 +46,7 @@ typedef struct { UINT8 OEMEvData1; UINT8 OEMEvData2; UINT8 OEMEvData3; -} IPMI_PLATFORM_EVENT_MESSAGE_DATA; +} IPMI_PLATFORM_EVENT_MESSAGE_DATA_REQUEST; #pragma pack() #endif diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h b/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h index 45c7d19f14..7abcd4a3be 100644 --- a/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h +++ b/MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h @@ -5,6 +5,7 @@ FRU Inventory Commands (Chapter 34) SDR Repository (Chapter 33) System Event Log(SEL) Commands (Chapter 31) + SEL Record Formats (Chapter 32) See IPMI specification, Appendix G, Command Assignments and Appendix H, Sub-function Assignments. @@ -89,6 +90,7 @@ typedef struct { // Constants and Structure definitions for "Get SDR Repository Info" command to follow here // typedef struct { + UINT8 CompletionCode; UINT8 Version; UINT16 RecordCount; UINT16 FreeSpace; @@ -101,7 +103,7 @@ typedef struct { UINT8 Reserved : 1; UINT8 SdrRepUpdateOp : 2; UINT8 Overflow : 1; -} IPMI_SDR_REPOSITORY_INFO; +} IPMI_GET_SDR_REPOSITORY_INFO; // // Definitions for Get SDR Repository Allocateion Info command @@ -281,7 +283,7 @@ typedef struct { UINT16 RecordId; UINT8 RecordOffset; UINT8 BytesToRead; -} IPMI_GET_SDR; +} IPMI_GET_SDR_REQUEST; // // Definitions for Add SDR command @@ -377,13 +379,14 @@ typedef struct { // Constants and Structure definitions for "Get SEL Info" command to follow here // typedef struct { + UINT8 CompletionCode; UINT8 Version; // Version of SEL UINT16 NoOfEntries; // No of Entries in the SEL UINT16 FreeSpace; // Free space in Bytes UINT32 RecentAddTimeStamp; // Most Recent Addition of Time Stamp UINT32 RecentEraseTimeStamp; // Most Recent Erasure of Time Stamp UINT8 OperationSupport; // Operation Support -} IPMI_SEL_INFO; +} IPMI_GET_SEL_INFO_RESPONSE; // // Definitions for Get SEL Allocation Info command @@ -411,14 +414,12 @@ typedef struct { // // Constants and Structure definitions for "Get SEL Entry" command to follow here // -#define IPMI_COMPLETE_SEL_RECORD 0xFF - typedef struct { UINT8 ReserveId[2]; // Reservation ID, LS Byte First UINT8 SelRecID[2]; // Sel Record ID, LS Byte First UINT8 Offset; // Offset Into Record UINT8 BytesToRead; // Bytes to be Read, 0xFF for entire record -} IPMI_GET_SEL_ENTRY; +} IPMI_GET_SEL_ENTRY_REQUEST; // // Definitions for Add SEL Entry command @@ -428,34 +429,6 @@ typedef struct { // // Constants and Structure definitions for "Add SEL Entry" command to follow here // -typedef struct { - UINT16 RecordId; - UINT8 RecordType; - UINT32 TimeStamp; - UINT16 GeneratorId; - UINT8 EvMRevision; - UINT8 SensorType; - UINT8 SensorNumber; - UINT8 EventDirType; - UINT8 OEMEvData1; - UINT8 OEMEvData2; - UINT8 OEMEvData3; -} IPMI_SEL_RECORD_DATA; - -#define IPMI_SEL_SYSTEM_RECORD 0x02 - -#define IPMI_EVM_REVISION 0x04 -#define IPMI_BIOS_ID 0x18 -#define IPMI_FORMAT_REV 0x00 -#define IPMI_FORMAT_REV1 0x01 -#define IPMI_SOFTWARE_ID 0x01 -#define IPMI_PLATFORM_VAL_ID 0x01 -#define IPMI_GENERATOR_ID(i,f) ((i << 1) | (f << 1) | IPMI_SOFTWARE_ID) - -#define IPMI_SENSOR_TYPE_EVENT_CODE_DISCRETE 0x6F - -#define IPMI_OEM_SPECIFIC_DATA 0x02 -#define IPMI_SENSOR_SPECIFIC_DATA 0x03 // // Definitions for Partial Add SEL Entry command @@ -477,7 +450,7 @@ typedef struct { typedef struct { UINT8 ReserveId[2]; // Reservation ID, LS byte first UINT8 RecordToDelete[2]; // Record to Delete, LS Byte First -} IPMI_DELETE_SEL; +} IPMI_DELETE_SEL_REQUEST; // // Definitions for Clear SEL command @@ -493,7 +466,7 @@ typedef struct { UINT8 AscL; // Ascii for 'L' (0x4c) UINT8 AscR; // Ascii for 'R' (0x52) UINT8 Erase; // 0xAA, Initiate Erase, 0x00 Get Erase Status -} IPMI_CLEAR_SEL; +} IPMI_CLEAR_SEL_REQUEST; // // Definitions for Get SEL Time command @@ -530,5 +503,40 @@ typedef struct { // // Constants and Structure definitions for "Set Auxillary Log Status" command to follow here // + +#define IPMI_COMPLETE_SEL_RECORD 0xFF + +// +// Below is Definitions for SEL Record Formats (Chapter 32) +// +typedef struct { + UINT16 RecordId; + UINT8 RecordType; + UINT32 TimeStamp; + UINT16 GeneratorId; + UINT8 EvMRevision; + UINT8 SensorType; + UINT8 SensorNumber; + UINT8 EventDirType; + UINT8 OEMEvData1; + UINT8 OEMEvData2; + UINT8 OEMEvData3; +} IPMI_SEL_EVENT_RECORD_DATA; + +#define IPMI_SEL_SYSTEM_RECORD 0x02 + +#define IPMI_EVM_REVISION 0x04 +#define IPMI_BIOS_ID 0x18 +#define IPMI_FORMAT_REV 0x00 +#define IPMI_FORMAT_REV1 0x01 +#define IPMI_SOFTWARE_ID 0x01 +#define IPMI_PLATFORM_VAL_ID 0x01 +#define IPMI_GENERATOR_ID(i,f) ((i << 1) | (f << 1) | IPMI_SOFTWARE_ID) + +#define IPMI_SENSOR_TYPE_EVENT_CODE_DISCRETE 0x6F + +#define IPMI_OEM_SPECIFIC_DATA 0x02 +#define IPMI_SENSOR_SPECIFIC_DATA 0x03 + #pragma pack() #endif diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h b/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h index 6fb9297211..1e9bbe2755 100644 --- a/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h +++ b/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h @@ -439,7 +439,7 @@ typedef struct { UINT8 Reserved1 : 4; UINT8 MuxSetting : 4; UINT8 Reserved2 : 4; -} IPMI_SET_MUX_COMMAND; +} IPMI_SET_SERIAL_MODEM_MUX_COMMAND_REQUEST; typedef struct { UINT8 MuxSetToBmc : 1; @@ -449,7 +449,7 @@ typedef struct { UINT8 Reserved2 : 2; UINT8 MuxToBmcAllowed : 1; UINT8 MuxToSystemBlocked : 1; -} IPMI_MUX_CONFIG; +} IPMI_SET_SERIAL_MODEM_MUX_COMMAND_RESPONSE; // // Definitions for Get TAP Response Code command -- cgit v1.2.3