]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Guid/DataHubRecords.h
Update for NetworkPkg.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Guid / DataHubRecords.h
index 611ef5798fc27f4eee8706299cb4836941cbf6b1..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
@@ -287,6 +287,7 @@ typedef STRING_REF                 EFI_PROCESSOR_VERSION_DATA;
 typedef STRING_REF                 EFI_PROCESSOR_MANUFACTURER_DATA;\r
 typedef STRING_REF                 EFI_PROCESSOR_SERIAL_NUMBER_DATA;\r
 typedef STRING_REF                 EFI_PROCESSOR_ASSET_TAG_DATA;\r
+typedef STRING_REF                 EFI_PROCESSOR_PART_NUMBER_DATA;\r
 \r
 typedef struct {\r
   UINT32                            ProcessorSteppingId:4;\r
@@ -574,6 +575,19 @@ typedef enum {
   EfiProcessorFamilyReserved1              = 0xFF\r
 } EFI_PROCESSOR_FAMILY_DATA;\r
 \r
+typedef enum {\r
+  EfiProcessorFamilySh3           = 0x104,\r
+  EfiProcessorFamilySh4           = 0x105,\r
+  EfiProcessorFamilyArm           = 0x118,\r
+  EfiProcessorFamilyStrongArm     = 0x119,\r
+  EfiProcessorFamily6x86          = 0x12C,\r
+  EfiProcessorFamilyMediaGx       = 0x12D,\r
+  EfiProcessorFamilyMii           = 0x12E,\r
+  EfiProcessorFamilyWinChip       = 0x140,\r
+  EfiProcessorFamilyDsp           = 0x15E,\r
+  EfiProcessorFamilyVideo         = 0x1F4\r
+} EFI_PROCESSOR_FAMILY2_DATA;\r
+\r
 ///\r
 /// This data record refers to the core voltage of the processor being defined. The unit of measurement \r
 /// of this data record is in volts.  \r
@@ -711,6 +725,17 @@ typedef enum {
 ///\r
 typedef UINTN                       EFI_PROCESSOR_PACKAGE_NUMBER_DATA;\r
 \r
+typedef UINT8                       EFI_PROCESSOR_CORE_COUNT_DATA;\r
+typedef UINT8                       EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA;\r
+typedef UINT8                       EFI_PROCESSOR_THREAD_COUNT_DATA;\r
+\r
+typedef struct {\r
+  UINT16  Reserved              :1;\r
+  UINT16  Unknown               :1;\r
+  UINT16  Capable64Bit          :1;\r
+  UINT16  Reserved2             :13;\r
+} EFI_PROCESSOR_CHARACTERISTICS_DATA;\r
+\r
 ///\r
 /// Inconsistent with specification here:\r
 /// In ProcSubclass specification 0.9, the enumeration type data structure is NOT defined.\r
@@ -765,7 +790,13 @@ typedef enum {
   ProcessorPackageNumberRecordType     = 21,\r
   ProcessorCoreFrequencyListRecordType = 22,\r
   ProcessorFsbFrequencyListRecordType  = 23,\r
-  ProcessorHealthStatusRecordType      = 24\r
+  ProcessorHealthStatusRecordType      = 24,\r
+  ProcessorCoreCountRecordType         = 25,\r
+  ProcessorEnabledCoreCountRecordType  = 26,\r
+  ProcessorThreadCountRecordType       = 27,\r
+  ProcessorCharacteristicsRecordType   = 28,\r
+  ProcessorFamily2RecordType           = 29,\r
+  ProcessorPartNumberRecordType        = 30,\r
 } EFI_CPU_VARIABLE_RECORD_TYPE;\r
 \r
 ///\r
@@ -795,8 +826,14 @@ typedef union {
   EFI_PROCESSOR_SOCKET_TYPE_DATA          ProcessorSocketType;\r
   EFI_PROCESSOR_SOCKET_NAME_DATA          ProcessorSocketName;\r
   EFI_PROCESSOR_ASSET_TAG_DATA            ProcessorAssetTag;\r
+  EFI_PROCESSOR_PART_NUMBER_DATA          ProcessorPartNumber;\r
   EFI_PROCESSOR_HEALTH_STATUS             ProcessorHealthStatus;\r
   EFI_PROCESSOR_PACKAGE_NUMBER_DATA       ProcessorPackageNumber;\r
+  EFI_PROCESSOR_CORE_COUNT_DATA           ProcessorCoreCount;\r
+  EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA   ProcessorEnabledCoreCount;\r
+  EFI_PROCESSOR_THREAD_COUNT_DATA         ProcessorThreadCount;\r
+  EFI_PROCESSOR_CHARACTERISTICS_DATA      ProcessorCharacteristics;\r
+  EFI_PROCESSOR_FAMILY2_DATA              ProcessorFamily2;\r
 } EFI_CPU_VARIABLE_RECORD;\r
 \r
 typedef struct {\r
@@ -2058,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
@@ -2071,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
@@ -2421,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
@@ -2441,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
@@ -2601,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
@@ -2630,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
@@ -2787,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