MdePkg/IndustryStandard/Ipmi: Update IPMI header files

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=814

This commit updates the IPMI related header files.

Cc: Younas Khan <pmdyounaskhan786@gmail.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Hao Wu
2018-04-17 15:37:09 +08:00
parent 4e738cd408
commit 25517f7ce3
6 changed files with 789 additions and 60 deletions

View File

@@ -7,7 +7,7 @@
See IPMI specification, Appendix G, Command Assignments
and Appendix H, Sub-function Assignments.
Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>
Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -38,6 +38,15 @@
//
// Constants and Structure definitions for "Get Chassis Capabilities" command to follow here
//
typedef struct {
UINT8 CompletionCode;
UINT8 CapabilitiesFlags;
UINT8 ChassisFruInfoDeviceAddress;
UINT8 ChassisSDRDeviceAddress;
UINT8 ChassisSELDeviceAddress;
UINT8 ChassisSystemManagementDeviceAddress;
UINT8 ChassisBridgeDeviceAddress;
} IPMI_GET_CHASSIS_CAPABILITIES_RESPONSE;
//
// Definitions for Get Chassis Status command
@@ -47,6 +56,13 @@
//
// Constants and Structure definitions for "Get Chassis Status" command to follow here
//
typedef struct {
UINT8 CompletionCode;
UINT8 CurrentPowerState;
UINT8 LastPowerEvent;
UINT8 MiscChassisState;
UINT8 FrontPanelButtonCapabilities;
} IPMI_GET_CHASSIS_STATUS_RESPONSE;
//
// Definitions for Chassis Control command
@@ -56,6 +72,10 @@
//
// Constants and Structure definitions for "Chassis Control" command to follow here
//
typedef struct {
UINT8 ChassisControl:4;
UINT8 Reserved:4;
} IPMI_CHASSIS_CONTROL_REQUEST;
//
// Definitions for Chassis Reset command
@@ -92,6 +112,15 @@
//
// Constants and Structure definitions for "Set Power Restore Policy" command to follow here
//
typedef struct {
UINT8 PowerRestorePolicy:3;
UINT8 Reserved:5;
} IPMI_SET_POWER_RESTORE_POLICY_REQUEST;
typedef struct {
UINT8 CompletionCode;
UINT8 PowerRestorePolicySupport;
} IPMI_SET_POWER_RESTORE_POLICY_RESPONSE;
//
// Definitions for Get System Restart Cause command
@@ -138,7 +167,7 @@ typedef struct {
} IPMI_SET_BOOT_OPTIONS_REQUEST;
//
// Definitions for Get System BOOT options command
// Definitions for Get System Boot options command
//
#define IPMI_CHASSIS_GET_SYSTEM_BOOT_OPTIONS 0x09
@@ -171,6 +200,20 @@ typedef struct {
UINT8 Reserved[3];
} IPMI_BOOT_INITIATOR;
//
// Definitions for boot option parameter selector
//
#define IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SET_IN_PROGRESS 0x0
#define IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SERVICE_PARTITION_SELECTOR 0x1
#define IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SERVICE_PARTITION_SCAN 0x2
#define IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_BMC_BOOT_FLAG 0x3
#define IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INFO_ACK 0x4
#define IPMI_BOOT_OPTIONS_PARAMETER_BOOT_FLAGS 0x5
#define IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INITIATOR_INFO 0x6
#define IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INITIATOR_MAILBOX 0x7
#define IPMI_BOOT_OPTIONS_PARAMETER_OEM_BEGIN 0x60
#define IPMI_BOOT_OPTIONS_PARAMETER_OEM_END 0x7F
//
// Response Parameters for IPMI Get Boot Options
//
@@ -186,7 +229,7 @@ typedef struct {
typedef struct {
UINT8 ServicePartitionDiscovered:1;
UINT8 ServicePartitionScanRequest:1;
UINT8 Reserved: 5;
UINT8 Reserved: 6;
} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_2;
typedef struct {
@@ -199,13 +242,37 @@ typedef struct {
UINT8 BootInitiatorAcknowledgeData;
} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_4;
//
// Definitions for the 'Boot device selector' field of Boot Option Parameters #5
//
#define IPMI_BOOT_DEVICE_SELECTOR_NO_OVERRIDE 0x0
#define IPMI_BOOT_DEVICE_SELECTOR_PXE 0x1
#define IPMI_BOOT_DEVICE_SELECTOR_HARDDRIVE 0x2
#define IPMI_BOOT_DEVICE_SELECTOR_HARDDRIVE_SAFE_MODE 0x3
#define IPMI_BOOT_DEVICE_SELECTOR_DIAGNOSTIC_PARTITION 0x4
#define IPMI_BOOT_DEVICE_SELECTOR_CD_DVD 0x5
#define IPMI_BOOT_DEVICE_SELECTOR_BIOS_SETUP 0x6
#define IPMI_BOOT_DEVICE_SELECTOR_REMOTE_FLOPPY 0x7
#define IPMI_BOOT_DEVICE_SELECTOR_REMOTE_CD_DVD 0x8
#define IPMI_BOOT_DEVICE_SELECTOR_PRIMARY_REMOTE_MEDIA 0x9
#define IPMI_BOOT_DEVICE_SELECTOR_REMOTE_HARDDRIVE 0xB
#define IPMI_BOOT_DEVICE_SELECTOR_FLOPPY 0xF
#define BOOT_OPTION_HANDLED_BY_BIOS 0x01
//
// Constant definitions for the 'BIOS Mux Control Override' field of Boot Option Parameters #5
//
#define BIOS_MUX_CONTROL_OVERRIDE_RECOMMEND_SETTING 0x00
#define BIOS_MUX_CONTROL_OVERRIDE_FORCE_TO_BMC 0x01
#define BIOS_MUX_CONTROL_OVERRIDE_FORCE_TO_SYSTEM 0x02
typedef struct {
//
// Data 1
//
UINT8 Reserved0:6;
UINT8 Reserved0:5;
UINT8 BiosBootType:1;
UINT8 PersistentOptions:1;
UINT8 BootFlagValid:1;
//
@@ -217,8 +284,8 @@ typedef struct {
UINT8 LockKeyboard:1;
UINT8 CmosClear:1;
//
//
// Data 3
//
UINT8 ConsoleRedirection:2;
UINT8 LockSleep:1;
UINT8 UserPasswordBypass:1;
@@ -228,9 +295,14 @@ typedef struct {
//
// Data 4
//
UINT8 BiosMuxControlOverride:2;
UINT8 BiosMuxControlOverride:3;
UINT8 BiosSharedModeOverride:1;
UINT8 Reserved1:4;
//
// Data 5
//
UINT8 DeviceInstanceSelector:5;
UINT8 Reserved2:3;
} IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_5;
typedef struct {