]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Guid/DataHubRecords.h
Update and add some definitions to reflect the latest industry standard or for backwa...
[mirror_edk2.git] / IntelFrameworkPkg / Include / Guid / DataHubRecords.h
index eda88b50e322d1be85925463eabc9f95f7008431..d898953ea444f7882df0cbdf4a69514ebf377d3a 100644 (file)
@@ -5,7 +5,7 @@
   Cache subclass specification 0.9, DataHub SubClass specification 0.9, Memory SubClass Spec 0.9,\r
   Processor Subclass specification 0.9, and Misc SubClass specification 0.9.\r
   \r
-Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials are licensed and made available under \r
 the terms and conditions of the BSD License that accompanies this distribution.  \r
 The full text of the license may be found at\r
@@ -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
@@ -2458,8 +2475,8 @@ typedef struct {
 typedef struct {\r
   EFI_MISC_COOLING_DEVICE_TYPE      CoolingDeviceType;\r
   EFI_INTER_LINK_DATA               CoolingDeviceTemperatureLink;\r
-  UINT16                            CoolingDeviceUnitGroup;\r
-  EFI_EXP_BASE10_DATA               CoolingDeviceNominalSpeed;\r
+  UINT                            CoolingDeviceUnitGroup;\r
+  UINT16                            CoolingDeviceNominalSpeed;\r
   UINT32                            CoolingDeviceOemDefined;\r
 } EFI_MISC_COOLING_DEVICE_TEMP_LINK_DATA;\r
 \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