]> 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 9e3aa720f72362813ce316a9657468fc12e2862c..d898953ea444f7882df0cbdf4a69514ebf377d3a 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