Update and add some definitions to reflect the latest industry standard or for backwa...
authorlzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 20 Apr 2011 02:10:52 +0000 (02:10 +0000)
committerlzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 20 Apr 2011 02:10:52 +0000 (02:10 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11570 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkPkg/FrameworkSpecConformance.txt
IntelFrameworkPkg/Include/Guid/DataHubRecords.h

index 5a52bf5..36644c8 100644 (file)
     typedef struct {\r
       ...\r
       EFI_INTER_LINK_DATA               ManagementDeviceThresholdLink;\r
+      UINT8                             ComponentType;\r
     } EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA;\r
 \r
-    The field listed above is *NOT* defined in MiscSubclass specification 0.9. It is introduced to support\r
-    new management device component (type 35) defined in SmBios 2.6 specification. \r
-    Keeping this inconsistency to reflect the latest industry standard.\r
+    a. The field "ManagementDeviceThresholdLink" above is *NOT* defined in MiscSubclass specification 0.9. It is introduced to support\r
+       new management device component (type 35) defined in SmBios 2.6 specification. \r
+       Keeping this inconsistency to reflect the latest industry standard.\r
+    b. The field "ComponentType" above is *NOT* defined in MiscSubclass specifications 0.9. It's implementation-specific to simplify the code logic.\r
+       Keeping this inconsistency for backward compatibility.\r
 \r
   6. Guid/DataHubRecords.h\r
     typedef struct {\r
       ...\r
       EfiSlotTypeAgp2X                  = 0x10,\r
       ...\r
-      EfiSlotTypePciExpress             = 0xA5\r
+      EfiSlotTypePciExpress             = 0xA5,\r
+      EfiSlotTypePciExpressX1           = 0xA6,\r
+      EfiSlotTypePciExpressX2           = 0xA7,\r
+      EfiSlotTypePciExpressX4           = 0xA8,\r
+      EfiSlotTypePciExpressX8           = 0xA9,\r
+      EfiSlotTypePciExpressX16          = 0xAA\r
     } EFI_MISC_SLOT_TYPE;\r
 \r
     a. The field name "EfiSlotTypeAgp2X" is *NOT* consistent with MiscSubclass specification 0.9, in which it is named\r
        "EfiSlotTypeApg2X".\r
        From its literal sense, this field represents a AGP type display card, so it should be named as "EfiSlotTypeAgp2X".\r
-    b. The "EfiSlotTypePciExpress" field is *NOT* defined in MiscSubclass specification 0.9. It isintroduced to support\r
-       new system slots (type 9) defined in SmBios 2.6 specification.\r
+    b. The enumeration fields from "EfiSlotTypePciExpress" to "EfiSlotTypePciExpressX16" are *NOT* defined in MiscSubclass specification 0.9.\r
+       They are introduced to support new system slots (type 9) defined in SmBios 2.6 specification.\r
        Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   8. Guid/DataHubRecords.h\r
     MiscSubclass specification 0.9. These fields are aligned with SMBIOS 2.6 specification. And user can easily\r
     assign any value to CoolingDeviceNominalSpeed.\r
 \r
+  22. Guid/DataHubRecords.h\r
+    typedef enum {\r
+      ...\r
+      EfiSlotDataBusWidth1xOrx1         = 0x8,\r
+      EfiSlotDataBusWidth2xOrx2         = 0x9,\r
+      EfiSlotDataBusWidth4xOrx4         = 0xA,\r
+      EfiSlotDataBusWidth8xOrx8         = 0xB,\r
+      EfiSlotDataBusWidth12xOrx12       = 0xC,\r
+      EfiSlotDataBusWidth16xOrx16       = 0xD,\r
+      EfiSlotDataBusWidth32xOrx32       = 0xE\r
+    } EFI_MISC_SLOT_DATA_BUS_WIDTH;\r
+\r
+    The enumeration fields from "EfiSlotDataBusWidth1xOrx1" to "EfiSlotDataBusWidth32xOrx32" are *NOT* defined in MiscSubclass specification 0.9.\r
+    They are introduced to support new system slots (type 9) defined in SmBios 2.6 specification.\r
+    Keeping this inconsistency to reflect the latest industry standard.\r
+\r
+  23. Guid/DataHubRecords.h\r
+    typedef struct {\r
+      ...\r
+      UINT16                            TemperatureProbeMaximumValue;\r
+      UINT16                            TemperatureProbeMinimumValue;\r
+      UINT16                            TemperatureProbeResolution;\r
+      UINT16                            TemperatureProbeTolerance;\r
+      UINT16                            TemperatureProbeAccuracy;\r
+      UINT16                            TemperatureProbeNominalValue;\r
+      UINT16                            MDLowerNoncriticalThreshold;\r
+      UINT16                            MDUpperNoncriticalThreshold;\r
+      UINT16                            MDLowerCriticalThreshold;\r
+      UINT16                            MDUpperCriticalThreshold;\r
+      UINT16                            MDLowerNonrecoverableThreshold;\r
+      UINT16                            MDUpperNonrecoverableThreshold;\r
+      ...\r
+    } EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_DATA;\r
+\r
+    The structure fields from "TemperatureProbeMaximumValue" to "MDUpperNonrecoverableThreshold" are *NOT* consistent with MiscSubclass specification 0.9.\r
+    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.\r
+    Keeping this inconsistency for backward compatibility.\r
+\r
+  24. Guid/DataHubRecords.h\r
+    #define EFI_MISC_IPMI_INTERFACE_TYPE_DATA_RECORD_NUMBER EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER\r
+\r
+    The definition above is *NOT* defined in MiscSubclass specifications 0.9. It's defined for backward compatibility.\r
+\r
 ##\r
 # Mismatch with Intel Platform Innovation Framework for Status Codes Specification (Version 0.92)\r
 ##\r
index 9e3aa72..d898953 100644 (file)
@@ -2095,10 +2095,15 @@ typedef enum {
   EfiSlotTypePC98Card                     = 0xA4,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass specification 0.9, this field isn't defined.\r
-  /// It's introduced for SmBios 2.6 specification type 9.\r
-  ///\r
-  EfiSlotTypePciExpress                   = 0xA5\r
+  /// In MiscSubclass specification 0.9, these fields aren't defined.\r
+  /// They're introduced for SmBios 2.6 specification type 9.\r
+  ///\r
+  EfiSlotTypePciExpress                   = 0xA5,\r
+  EfiSlotTypePciExpressX1                 = 0xA6,\r
+  EfiSlotTypePciExpressX2                 = 0xA7,\r
+  EfiSlotTypePciExpressX4                 = 0xA8,\r
+  EfiSlotTypePciExpressX8                 = 0xA9,\r
+  EfiSlotTypePciExpressX16                = 0xAA\r
 } EFI_MISC_SLOT_TYPE;\r
 \r
 typedef enum {\r
@@ -2108,7 +2113,19 @@ typedef enum {
   EfiSlotDataBusWidth16Bit      = 0x04,\r
   EfiSlotDataBusWidth32Bit      = 0x05,\r
   EfiSlotDataBusWidth64Bit      = 0x06,\r
-  EfiSlotDataBusWidth128Bit     = 0x07\r
+  EfiSlotDataBusWidth128Bit     = 0x07,\r
+  ///\r
+  /// Inconsistent with specification here:  \r
+  /// In MiscSubclass specification 0.9, these fields aren't defined.\r
+  /// They're introduced for SmBios 2.6 specification type 9.\r
+  ///\r
+  EfiSlotDataBusWidth1xOrx1     = 0x8,\r
+  EfiSlotDataBusWidth2xOrx2     = 0x9,\r
+  EfiSlotDataBusWidth4xOrx4     = 0xA,\r
+  EfiSlotDataBusWidth8xOrx8     = 0xB,\r
+  EfiSlotDataBusWidth12xOrx12   = 0xC,\r
+  EfiSlotDataBusWidth16xOrx16   = 0xD,\r
+  EfiSlotDataBusWidth32xOrx32   = 0xE\r
 } EFI_MISC_SLOT_DATA_BUS_WIDTH;\r
 \r
 typedef enum {\r
@@ -2478,18 +2495,24 @@ typedef struct {
   STRING_REF                        TemperatureProbeDescription;\r
   EFI_MISC_TEMPERATURE_PROBE_LOCATION\r
                                     TemperatureProbeLocation;\r
-  EFI_EXP_BASE10_DATA               TemperatureProbeMaximumValue;\r
-  EFI_EXP_BASE10_DATA               TemperatureProbeMinimumValue;\r
-  EFI_EXP_BASE10_DATA               TemperatureProbeResolution;\r
-  EFI_EXP_BASE10_DATA               TemperatureProbeTolerance;\r
-  EFI_EXP_BASE10_DATA               TemperatureProbeAccuracy;\r
-  EFI_EXP_BASE10_DATA               TemperatureProbeNominalValue;\r
-  EFI_EXP_BASE10_DATA               MDLowerNoncriticalThreshold;\r
-  EFI_EXP_BASE10_DATA               MDUpperNoncriticalThreshold;\r
-  EFI_EXP_BASE10_DATA               MDLowerCriticalThreshold;\r
-  EFI_EXP_BASE10_DATA               MDUpperCriticalThreshold;\r
-  EFI_EXP_BASE10_DATA               MDLowerNonrecoverableThreshold;\r
-  EFI_EXP_BASE10_DATA               MDUpperNonrecoverableThreshold;\r
+  ///\r
+  /// Inconsistent with specification here:  \r
+  /// MiscSubclass 0.9 specification defines the fields type as EFI_EXP_BASE10_DATA.\r
+  /// In fact, they should be UINT16 type because they refer to 16bit width data.\r
+  /// Keeping this inconsistency for backward compatibility.\r
+  ///\r
+  UINT16                            TemperatureProbeMaximumValue;\r
+  UINT16                            TemperatureProbeMinimumValue;\r
+  UINT16                            TemperatureProbeResolution;\r
+  UINT16                            TemperatureProbeTolerance;\r
+  UINT16                            TemperatureProbeAccuracy;\r
+  UINT16                            TemperatureProbeNominalValue;\r
+  UINT16                            MDLowerNoncriticalThreshold;\r
+  UINT16                            MDUpperNoncriticalThreshold;\r
+  UINT16                            MDLowerCriticalThreshold;\r
+  UINT16                            MDUpperCriticalThreshold;\r
+  UINT16                            MDLowerNonrecoverableThreshold;\r
+  UINT16                            MDUpperNonrecoverableThreshold;\r
   UINT32                            TemperatureProbeOemDefined;\r
 } EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_DATA;\r
 \r
@@ -2638,6 +2661,12 @@ typedef struct {
   /// It's introduced for SmBios 2.6 specification type 35.\r
   ///\r
   EFI_INTER_LINK_DATA               ManagementDeviceThresholdLink;\r
+  ///\r
+  /// Inconsistent with specification here:  \r
+  /// In MiscSubclass specification 0.9, this field is NOT defined.\r
+  /// It's implementation-specific to simplify the code logic.\r
+  ///\r
+  UINT8                             ComponentType;\r
 } EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA;\r
 \r
 //\r
@@ -2667,6 +2696,11 @@ typedef struct {
 } EFI_MISC_IPMI_INTERFACE_TYPE_DATA;\r
 \r
 #define EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER    0x0000001D\r
+///\r
+/// The definition above is *NOT* defined in MiscSubclass specifications 0.9.\r
+/// It's defined for backward compatibility.\r
+///\r
+#define EFI_MISC_IPMI_INTERFACE_TYPE_DATA_RECORD_NUMBER EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER\r
 \r
 ///\r
 /// System Power supply Record - SMBIOS Type 39\r
@@ -2824,6 +2858,8 @@ typedef EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_DATA
                                                           EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION;\r
 typedef EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_DATA       EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION;\r
 typedef EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_DATA EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION;\r
+typedef EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA\r
+                                                          EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION;\r
 \r
 ///\r
 /// Inconsistent with specification here:  \r