Update and add some definitions to reflect the latest industry standard or for backward compatibility.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11570 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lzeng14 2011-04-20 02:10:52 +00:00
parent 944b3bbd17
commit 33d9d83439
2 changed files with 109 additions and 22 deletions

View File

@ -658,11 +658,14 @@
typedef struct {
...
EFI_INTER_LINK_DATA ManagementDeviceThresholdLink;
UINT8 ComponentType;
} EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA;
The field listed above is *NOT* defined in MiscSubclass specification 0.9. It is introduced to support
new management device component (type 35) defined in SmBios 2.6 specification.
Keeping this inconsistency to reflect the latest industry standard.
a. The field "ManagementDeviceThresholdLink" above is *NOT* defined in MiscSubclass specification 0.9. It is introduced to support
new management device component (type 35) defined in SmBios 2.6 specification.
Keeping this inconsistency to reflect the latest industry standard.
b. The field "ComponentType" above is *NOT* defined in MiscSubclass specifications 0.9. It's implementation-specific to simplify the code logic.
Keeping this inconsistency for backward compatibility.
6. Guid/DataHubRecords.h
typedef struct {
@ -680,14 +683,19 @@
...
EfiSlotTypeAgp2X = 0x10,
...
EfiSlotTypePciExpress = 0xA5
EfiSlotTypePciExpress = 0xA5,
EfiSlotTypePciExpressX1 = 0xA6,
EfiSlotTypePciExpressX2 = 0xA7,
EfiSlotTypePciExpressX4 = 0xA8,
EfiSlotTypePciExpressX8 = 0xA9,
EfiSlotTypePciExpressX16 = 0xAA
} EFI_MISC_SLOT_TYPE;
a. The field name "EfiSlotTypeAgp2X" is *NOT* consistent with MiscSubclass specification 0.9, in which it is named
"EfiSlotTypeApg2X".
From its literal sense, this field represents a AGP type display card, so it should be named as "EfiSlotTypeAgp2X".
b. The "EfiSlotTypePciExpress" field is *NOT* defined in MiscSubclass specification 0.9. It isintroduced to support
new system slots (type 9) defined in SmBios 2.6 specification.
b. The enumeration fields from "EfiSlotTypePciExpress" to "EfiSlotTypePciExpressX16" are *NOT* defined in MiscSubclass specification 0.9.
They are introduced to support new system slots (type 9) defined in SmBios 2.6 specification.
Keeping this inconsistency to reflect the latest industry standard.
8. Guid/DataHubRecords.h
@ -877,6 +885,49 @@
MiscSubclass specification 0.9. These fields are aligned with SMBIOS 2.6 specification. And user can easily
assign any value to CoolingDeviceNominalSpeed.
22. Guid/DataHubRecords.h
typedef enum {
...
EfiSlotDataBusWidth1xOrx1 = 0x8,
EfiSlotDataBusWidth2xOrx2 = 0x9,
EfiSlotDataBusWidth4xOrx4 = 0xA,
EfiSlotDataBusWidth8xOrx8 = 0xB,
EfiSlotDataBusWidth12xOrx12 = 0xC,
EfiSlotDataBusWidth16xOrx16 = 0xD,
EfiSlotDataBusWidth32xOrx32 = 0xE
} EFI_MISC_SLOT_DATA_BUS_WIDTH;
The enumeration fields from "EfiSlotDataBusWidth1xOrx1" to "EfiSlotDataBusWidth32xOrx32" are *NOT* defined in MiscSubclass specification 0.9.
They are introduced to support new system slots (type 9) defined in SmBios 2.6 specification.
Keeping this inconsistency to reflect the latest industry standard.
23. Guid/DataHubRecords.h
typedef struct {
...
UINT16 TemperatureProbeMaximumValue;
UINT16 TemperatureProbeMinimumValue;
UINT16 TemperatureProbeResolution;
UINT16 TemperatureProbeTolerance;
UINT16 TemperatureProbeAccuracy;
UINT16 TemperatureProbeNominalValue;
UINT16 MDLowerNoncriticalThreshold;
UINT16 MDUpperNoncriticalThreshold;
UINT16 MDLowerCriticalThreshold;
UINT16 MDUpperCriticalThreshold;
UINT16 MDLowerNonrecoverableThreshold;
UINT16 MDUpperNonrecoverableThreshold;
...
} EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_DATA;
The structure fields from "TemperatureProbeMaximumValue" to "MDUpperNonrecoverableThreshold" are *NOT* consistent with MiscSubclass specification 0.9.
The specification defines the fields type as EFI_EXP_BASE10_DATA. In fact, they should be UINT16 type because they refer to 16bit width data.
Keeping this inconsistency for backward compatibility.
24. Guid/DataHubRecords.h
#define EFI_MISC_IPMI_INTERFACE_TYPE_DATA_RECORD_NUMBER EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER
The definition above is *NOT* defined in MiscSubclass specifications 0.9. It's defined for backward compatibility.
##
# Mismatch with Intel Platform Innovation Framework for Status Codes Specification (Version 0.92)
##

View File

@ -2095,10 +2095,15 @@ typedef enum {
EfiSlotTypePC98Card = 0xA4,
///
/// Inconsistent with specification here:
/// In MiscSubclass specification 0.9, this field isn't defined.
/// It's introduced for SmBios 2.6 specification type 9.
/// In MiscSubclass specification 0.9, these fields aren't defined.
/// They're introduced for SmBios 2.6 specification type 9.
///
EfiSlotTypePciExpress = 0xA5
EfiSlotTypePciExpress = 0xA5,
EfiSlotTypePciExpressX1 = 0xA6,
EfiSlotTypePciExpressX2 = 0xA7,
EfiSlotTypePciExpressX4 = 0xA8,
EfiSlotTypePciExpressX8 = 0xA9,
EfiSlotTypePciExpressX16 = 0xAA
} EFI_MISC_SLOT_TYPE;
typedef enum {
@ -2108,7 +2113,19 @@ typedef enum {
EfiSlotDataBusWidth16Bit = 0x04,
EfiSlotDataBusWidth32Bit = 0x05,
EfiSlotDataBusWidth64Bit = 0x06,
EfiSlotDataBusWidth128Bit = 0x07
EfiSlotDataBusWidth128Bit = 0x07,
///
/// Inconsistent with specification here:
/// In MiscSubclass specification 0.9, these fields aren't defined.
/// They're introduced for SmBios 2.6 specification type 9.
///
EfiSlotDataBusWidth1xOrx1 = 0x8,
EfiSlotDataBusWidth2xOrx2 = 0x9,
EfiSlotDataBusWidth4xOrx4 = 0xA,
EfiSlotDataBusWidth8xOrx8 = 0xB,
EfiSlotDataBusWidth12xOrx12 = 0xC,
EfiSlotDataBusWidth16xOrx16 = 0xD,
EfiSlotDataBusWidth32xOrx32 = 0xE
} EFI_MISC_SLOT_DATA_BUS_WIDTH;
typedef enum {
@ -2478,18 +2495,24 @@ typedef struct {
STRING_REF TemperatureProbeDescription;
EFI_MISC_TEMPERATURE_PROBE_LOCATION
TemperatureProbeLocation;
EFI_EXP_BASE10_DATA TemperatureProbeMaximumValue;
EFI_EXP_BASE10_DATA TemperatureProbeMinimumValue;
EFI_EXP_BASE10_DATA TemperatureProbeResolution;
EFI_EXP_BASE10_DATA TemperatureProbeTolerance;
EFI_EXP_BASE10_DATA TemperatureProbeAccuracy;
EFI_EXP_BASE10_DATA TemperatureProbeNominalValue;
EFI_EXP_BASE10_DATA MDLowerNoncriticalThreshold;
EFI_EXP_BASE10_DATA MDUpperNoncriticalThreshold;
EFI_EXP_BASE10_DATA MDLowerCriticalThreshold;
EFI_EXP_BASE10_DATA MDUpperCriticalThreshold;
EFI_EXP_BASE10_DATA MDLowerNonrecoverableThreshold;
EFI_EXP_BASE10_DATA MDUpperNonrecoverableThreshold;
///
/// Inconsistent with specification here:
/// MiscSubclass 0.9 specification defines the fields type as EFI_EXP_BASE10_DATA.
/// In fact, they should be UINT16 type because they refer to 16bit width data.
/// Keeping this inconsistency for backward compatibility.
///
UINT16 TemperatureProbeMaximumValue;
UINT16 TemperatureProbeMinimumValue;
UINT16 TemperatureProbeResolution;
UINT16 TemperatureProbeTolerance;
UINT16 TemperatureProbeAccuracy;
UINT16 TemperatureProbeNominalValue;
UINT16 MDLowerNoncriticalThreshold;
UINT16 MDUpperNoncriticalThreshold;
UINT16 MDLowerCriticalThreshold;
UINT16 MDUpperCriticalThreshold;
UINT16 MDLowerNonrecoverableThreshold;
UINT16 MDUpperNonrecoverableThreshold;
UINT32 TemperatureProbeOemDefined;
} EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_DATA;
@ -2638,6 +2661,12 @@ typedef struct {
/// It's introduced for SmBios 2.6 specification type 35.
///
EFI_INTER_LINK_DATA ManagementDeviceThresholdLink;
///
/// Inconsistent with specification here:
/// In MiscSubclass specification 0.9, this field is NOT defined.
/// It's implementation-specific to simplify the code logic.
///
UINT8 ComponentType;
} EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA;
//
@ -2667,6 +2696,11 @@ typedef struct {
} EFI_MISC_IPMI_INTERFACE_TYPE_DATA;
#define EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER 0x0000001D
///
/// The definition above is *NOT* defined in MiscSubclass specifications 0.9.
/// It's defined for backward compatibility.
///
#define EFI_MISC_IPMI_INTERFACE_TYPE_DATA_RECORD_NUMBER EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER
///
/// System Power supply Record - SMBIOS Type 39
@ -2824,6 +2858,8 @@ typedef EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_DATA
EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION;
typedef EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_DATA EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION;
typedef EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_DATA EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION;
typedef EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA
EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION;
///
/// Inconsistent with specification here: