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.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Daocheng Bu <daocheng.bu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19484 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Daocheng Bu 2015-12-23 08:15:14 +00:00 committed by lgao4
parent 152a991319
commit aeff1d6edb
5 changed files with 95 additions and 83 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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