]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Framework/DataHubRecords.h
Add more comments for IntelFramework's header files.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Framework / DataHubRecords.h
index e7b0b30d1f0bf31513a27e3333b1e107cfe21f1d..4ea9e50c4a705107904ff796bdd33e65a6a9b4f9 100644 (file)
@@ -505,7 +505,8 @@ typedef enum {
   EfiCacheAssociativity4Way         = 5,\r
   EfiCacheAssociativityFully        = 6,\r
   EfiCacheAssociativity8Way         = 7,\r
-  EfiCacheAssociativity16Way        = 8\r
+  EfiCacheAssociativity16Way        = 8,\r
+  EfiCacheAssociativity24Way        = 9\r
 } EFI_CACHE_ASSOCIATIVITY_DATA;\r
 \r
 typedef struct {\r
@@ -790,7 +791,148 @@ typedef struct {
   UINT8                       MemoryChannelDeviceLoad;\r
 } EFI_MEMORY_CHANNEL_DEVICE_DATA;\r
 \r
-\r
+//\r
+//  Memory. Controller Information - SMBIOS Type 5\r
+//\r
+#define EFI_MEMORY_CONTROLLER_INFORMATION_RECORD_NUMBER 0x00000008\r
+\r
+typedef enum {  \r
+  EfiErrorDetectingMethodOther   = 1,\r
+  EfiErrorDetectingMethodUnknown = 2,\r
+  EfiErrorDetectingMethodNone    = 3,\r
+  EfiErrorDetectingMethodParity  = 4,\r
+  EfiErrorDetectingMethod32Ecc   = 5,\r
+  EfiErrorDetectingMethod64Ecc   = 6,\r
+  EfiErrorDetectingMethod128Ecc  = 7,\r
+  EfiErrorDetectingMethodCrc     = 8\r
+} EFI_MEMORY_ERROR_DETECT_METHOD_TYPE;\r
+\r
+typedef struct {\r
+  UINT8  Other                 :1;\r
+  UINT8  Unknown               :1;\r
+  UINT8  None                  :1;\r
+  UINT8  SingleBitErrorCorrect :1;\r
+  UINT8  DoubleBitErrorCorrect :1;\r
+  UINT8  ErrorScrubbing        :1;\r
+  UINT8  Reserved              :2;\r
+} EFI_MEMORY_ERROR_CORRECT_CAPABILITY;\r
+\r
+typedef enum {  \r
+  EfiMemoryInterleaveOther      = 1,\r
+  EfiMemoryInterleaveUnknown    = 2,\r
+  EfiMemoryInterleaveOneWay     = 3,\r
+  EfiMemoryInterleaveTwoWay     = 4,\r
+  EfiMemoryInterleaveFourWay    = 5,\r
+  EfiMemoryInterleaveEightWay   = 6,\r
+  EfiMemoryInterleaveSixteenWay = 7\r
+} EFI_MEMORY_SUPPORT_INTERLEAVE_TYPE;\r
+\r
+typedef struct {\r
+  UINT16  Other                 :1;\r
+  UINT16  Unknown               :1;\r
+  UINT16  SeventyNs             :1;\r
+  UINT16  SixtyNs               :1;\r
+  UINT16  FiftyNs               :1;\r
+  UINT16  Reserved              :11;\r
+} EFI_MEMORY_SPEED_TYPE;\r
+\r
+typedef struct {\r
+  UINT16  Other                 :1;\r
+  UINT16  Unknown               :1;\r
+  UINT16  Standard              :1;\r
+  UINT16  FastPageMode          :1;\r
+  UINT16  EDO                   :1;\r
+  UINT16  Parity                :1;\r
+  UINT16  ECC                   :1;\r
+  UINT16  SIMM                  :1;\r
+  UINT16  DIMM                  :1;\r
+  UINT16  BurstEdo              :1;\r
+  UINT16  SDRAM                 :1;\r
+  UINT16  Reserved              :5;\r
+} EFI_MEMORY_SUPPORTED_TYPE;\r
+\r
+typedef struct {\r
+  UINT8  Five                  :1;\r
+  UINT8  There                 :1;\r
+  UINT8  Two                   :1;\r
+  UINT8  Reserved              :5;\r
+} EFI_MEMORY_MODULE_VOLTAGE_TYPE;\r
+\r
+typedef struct {\r
+  EFI_MEMORY_ERROR_DETECT_METHOD_TYPE   ErrorDetectingMethod;\r
+  EFI_MEMORY_ERROR_CORRECT_CAPABILITY   ErrorCorrectingCapability;\r
+  EFI_MEMORY_SUPPORT_INTERLEAVE_TYPE    MemorySupportedInterleave;\r
+  EFI_MEMORY_SUPPORT_INTERLEAVE_TYPE    MemoryCurrentInterleave;\r
+  UINT8                                 MaxMemoryModuleSize;\r
+  EFI_MEMORY_SPEED_TYPE                 MemorySpeedType;\r
+  EFI_MEMORY_SUPPORTED_TYPE             MemorySupportedType;\r
+  EFI_MEMORY_MODULE_VOLTAGE_TYPE        MemoryModuleVoltage;\r
+  UINT8                                 NumberofMemorySlot;\r
+  EFI_MEMORY_ERROR_CORRECT_CAPABILITY   EnabledCorrectingCapability;\r
+  UINT16                                *MemoryModuleConfigHandles;\r
+} EFI_MEMORY_CONTROLLER_INFORMATION;\r
+\r
+//\r
+//  Memory. Error Information - SMBIOS Type 18\r
+//\r
+#define EFI_MEMORY_32BIT_ERROR_INFORMATION_RECORD_NUMBER 0x00000009\r
+\r
+typedef enum {  \r
+  EfiMemoryErrorOther             = 1,\r
+  EfiMemoryErrorUnknown           = 2,\r
+  EfiMemoryErrorOk                = 3,\r
+  EfiMemoryErrorBadRead           = 4,\r
+  EfiMemoryErrorParity            = 5,\r
+  EfiMemoryErrorSigleBit          = 6,\r
+  EfiMemoryErrorDoubleBit         = 7,\r
+  EfiMemoryErrorMultiBit          = 8,\r
+  EfiMemoryErrorNibble            = 9,\r
+  EfiMemoryErrorChecksum          = 10,\r
+  EfiMemoryErrorCrc               = 11,\r
+  EfiMemoryErrorCorrectSingleBit  = 12,\r
+  EfiMemoryErrorCorrected         = 13,\r
+  EfiMemoryErrorUnCorrectable     = 14\r
+} EFI_MEMORY_ERROR_TYPE;\r
+\r
+typedef enum {  \r
+  EfiMemoryGranularityOther               = 1,\r
+  EfiMemoryGranularityOtherUnknown        = 2,\r
+  EfiMemoryGranularityDeviceLevel         = 3,\r
+  EfiMemoryGranularityMemPartitionLevel   = 4\r
+} EFI_MEMORY_ERROR_GRANULARITY_TYPE;\r
+\r
+typedef enum {  \r
+  EfiMemoryErrorOperationOther            = 1,\r
+  EfiMemoryErrorOperationUnknown          = 2,\r
+  EfiMemoryErrorOperationRead             = 3,\r
+  EfiMemoryErrorOperationWrite            = 4,\r
+  EfiMemoryErrorOperationPartialWrite     = 5\r
+} EFI_MEMORY_ERROR_OPERATION_TYPE;\r
+\r
+typedef struct {\r
+  EFI_MEMORY_ERROR_TYPE               MemoryErrorType;\r
+  EFI_MEMORY_ERROR_GRANULARITY_TYPE   MemoryErrorGranularity;\r
+  EFI_MEMORY_ERROR_OPERATION_TYPE     MemoryErrorOperation;\r
+  UINT32                              VendorSyndrome;\r
+  UINT32                              MemoryArrayErrorAddress;\r
+  UINT32                              DeviceErrorAddress;\r
+  UINT32                              DeviceErrorResolution;\r
+} EFI_MEMORY_32BIT_ERROR_INFORMATION;\r
+\r
+//\r
+//  Memory. Error Information - SMBIOS Type 33\r
+//\r
+#define EFI_MEMORY_64BIT_ERROR_INFORMATION_RECORD_NUMBER 0x0000000A\r
+\r
+typedef struct {\r
+  EFI_MEMORY_ERROR_TYPE               MemoryErrorType;\r
+  EFI_MEMORY_ERROR_GRANULARITY_TYPE   MemoryErrorGranularity;\r
+  EFI_MEMORY_ERROR_OPERATION_TYPE     MemoryErrorOperation;\r
+  UINT32                              VendorSyndrome;\r
+  UINT64                              MemoryArrayErrorAddress;\r
+  UINT64                              DeviceErrorAddress;\r
+  UINT32                              DeviceErrorResolution;\r
+} EFI_MEMORY_64BIT_ERROR_INFORMATION;\r
 \r
 typedef union _EFI_MEMORY_SUBCLASS_RECORDS {\r
   EFI_MEMORY_SIZE_DATA                  SizeData;\r
@@ -800,6 +942,9 @@ typedef union _EFI_MEMORY_SUBCLASS_RECORDS {
   EFI_MEMORY_DEVICE_START_ADDRESS_DATA  DeviceStartAddress;\r
   EFI_MEMORY_CHANNEL_TYPE_DATA          ChannelTypeData;\r
   EFI_MEMORY_CHANNEL_DEVICE_DATA        ChannelDeviceData;\r
+  EFI_MEMORY_CONTROLLER_INFORMATION     MemoryControllerInfo;\r
+  EFI_MEMORY_32BIT_ERROR_INFORMATION    Memory32bitErrorInfo;\r
+  EFI_MEMORY_64BIT_ERROR_INFORMATION    Memory64bitErrorInfo;\r
 } EFI_MEMORY_SUBCLASS_RECORDS;\r
 \r
 typedef struct {\r
@@ -1348,34 +1493,6 @@ typedef struct {
   UINT16                   GroupElementId;\r
 } EFI_MISC_GROUP_ITEM_SET_DATA;\r
 \r
-//  Misc. System Event Log  - SMBIOS Type 15\r
-//\r
-#define EFI_MISC_SYSTEM_EVENT_LOG_RECORD_NUMBER 0x0000000D\r
-typedef struct {\r
-  UINT16                LogAreaLength;\r
-  UINT16                LogHeaderStartOffset;\r
-  UINT16                LogDataStartOffset;\r
-  UINT8                 AccessMethod;\r
-  UINT8                 LogStatus;\r
-  UINT32                LogChangeToken;\r
-  UINT32                AccessMethodAddress;\r
-  UINT8                 LogHeaderFormat;\r
-  UINT8                 NumberOfSupportedLogType;\r
-  UINT8                 LengthOfLogDescriptor;\r
-} EFI_MISC_SYSTEM_EVENT_LOG_DATA;\r
-\r
-//\r
-// Access Method.\r
-//  0x00~0x04:  as following definition\r
-//  0x05~0x7f:  Available for future assignment.\r
-//  0x80~0xff:  BIOS Vendor/OEM-specific.\r
-//\r
-#define ACCESS_INDEXIO_1INDEX8BIT_DATA8BIT    0x00\r
-#define ACCESS_INDEXIO_2INDEX8BIT_DATA8BIT    0X01\r
-#define ACCESS_INDEXIO_1INDEX16BIT_DATA8BIT   0X02\r
-#define ACCESS_MEMORY_MAPPED                  0x03\r
-#define ACCESS_GPNV                           0x04\r
-\r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
 //\r
@@ -1421,43 +1538,38 @@ typedef struct {
 //\r
 // Portable Battery - SMBIOS Type 22\r
 //\r
-#define EFI_MISC_BATTERY_LOCATION_RECORD_NUMBER  0x00000010\r
-\r
-typedef enum {\r
-  EfiBatteryDeviceChemistryTypeOther               = 0x01,\r
-  EfiBatteryDeviceChemistryTypeUnknown             = 0x02,\r
-  EfiBatteryDeviceChemistryTypeLeadAcid            = 0x03,\r
-  EfiBatteryDeviceChemistryTypeNickelCadmium       = 0x04,\r
-  EfiBatteryDeviceChemistryTypeNickelMetalHydride  = 0x05,\r
-  EfiBatteryDeviceChemistryTypeLithiumIon          = 0x06,\r
-  EfiBatteryDeviceChemistryTypeZincAir             = 0x07,\r
-  EfiBatteryDeviceChemistryTypeLithiumPolymer      = 0x08,\r
-} EFI_MISC_BATTERY_DEVICE_CHEMISTRY;\r
-\r
-typedef struct  {\r
-  UINT32 Date              :5;\r
-  UINT32 Month             :4;\r
-  UINT32 Year              :7;\r
-  UINT32 Reserved          :16;\r
-} EFI_MISC_BATTERY_SBDS_MANUFACTURE_DATE;\r
-\r
-typedef struct {\r
-  STRING_REF                         BatteryLocation;\r
-  STRING_REF                         BatteryManufacturer;\r
-  STRING_REF                         BatteryManufactureDate;\r
-  STRING_REF                         BatterySerialNumber;\r
-  STRING_REF                         BatteryDeviceName;\r
-  STRING_REF                         BatterySbdsVersionNumber;\r
-  STRING_REF                         BatterySbdsDeviceChemistry;\r
-  EFI_MISC_BATTERY_DEVICE_CHEMISTRY  BatteryDeviceChemistry;\r
-  EFI_EXP_BASE10_DATA                BatteryDesignCapacity;\r
-  EFI_EXP_BASE10_DATA                BatteryDesignVoltage;\r
-  UINT16                             BatteryMaximumError;\r
-  UINT16                             BatterySbdsSerialNumber;\r
-  EFI_MISC_BATTERY_SBDS_MANUFACTURE_DATE\r
-                                     BatterySbdsManufacturingDate;\r
-  UINT32                             BatteryOemSpecific;\r
-} EFI_MISC_BATTERY_LOCATION_DATA;\r
+#define EFI_MISC_PORTABLE_BATTERY_RECORD_NUMBER 0x00000010\r
+\r
+typedef enum {  \r
+  EfiPortableBatteryDeviceChemistryOther = 1,\r
+  EfiPortableBatteryDeviceChemistryUnknown = 2,\r
+  EfiPortableBatteryDeviceChemistryLeadAcid = 3,\r
+  EfiPortableBatteryDeviceChemistryNickelCadmium = 4,\r
+  EfiPortableBatteryDeviceChemistryNickelMetalHydride = 5,\r
+  EfiPortableBatteryDeviceChemistryLithiumIon = 6,\r
+  EfiPortableBatteryDeviceChemistryZincAir = 7,\r
+  EfiPortableBatteryDeviceChemistryLithiumPolymer = 8,\r
+} EFI_MISC_PORTABLE_BATTERY_DEVICE_CHEMISTRY;\r
+\r
+typedef struct {\r
+  STRING_REF                                  Location;\r
+  STRING_REF                                  Manufacturer;\r
+  STRING_REF                                  ManufactureDate;\r
+  STRING_REF                                  SerialNumber;\r
+  STRING_REF                                  DeviceName;\r
+  EFI_MISC_PORTABLE_BATTERY_DEVICE_CHEMISTRY  DeviceChemistry;\r
+  UINT16                                      DesignCapacity;\r
+  UINT16                                      DesignVoltage;\r
+  STRING_REF                                  SBDSVersionNumber;\r
+  UINT8                                       MaximumError;\r
+  UINT16                                      SBDSSerialNumber;\r
+  UINT16                                      SBDSManufactureDate;\r
+  STRING_REF                                  SBDSDeviceChemistry;\r
+  UINT8                                       DesignCapacityMultiplier;\r
+  UINT32                                      OEMSpecific;  \r
+  UINT8                                       BatteryNumber; // Temporary   \r
+  BOOLEAN                                     Valid; // Is entry valid - Temporary\r
+} EFI_MISC_PORTABLE_BATTERY;\r
 \r
 //\r
 //////////////////////////////////////////////////////////////////////////////\r
@@ -1495,7 +1607,7 @@ typedef struct {
 //\r
 // Misc. Hardware Security - SMBIOS Type 24\r
 //\r
-#define EFI_MISC_HARDWARE_SECURITY_RECORD_NUMBER 0x00000012\r
+#define EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA_RECORD_NUMBER 0x00000012\r
 \r
 typedef enum {\r
   EfiHardwareSecurityStatusDisabled       = 0,\r
@@ -1756,6 +1868,7 @@ typedef struct {
   STRING_REF               ManagementDeviceComponentDescription;\r
   EFI_INTER_LINK_DATA      ManagementDeviceLink;\r
   EFI_INTER_LINK_DATA      ManagementDeviceComponentLink;\r
+  EFI_INTER_LINK_DATA      ManagementDeviceThresholdLink;\r
 } EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA;\r
 \r
 //\r
@@ -1838,6 +1951,54 @@ typedef struct {
 \r
 #define EFI_MISC_SMBIOS_STRUCT_ENCAP_RECORD_NUMBER  0x0000001F\r
 \r
+//\r
+//////////////////////////////////////////////////////////////////////////////\r
+//\r
+//  Misc. System Event Log  - SMBIOS Type 15\r
+//\r
+#define EFI_MISC_SYSTEM_EVENT_LOG_RECORD_NUMBER 0x00000020\r
+typedef struct {\r
+  //SMBIOS_STRUCTURE_HDR  Header;\r
+  UINT16                LogAreaLength;\r
+  UINT16                LogHeaderStartOffset;\r
+  UINT16                LogDataStartOffset;\r
+  UINT8                 AccessMethod;\r
+  UINT8                 LogStatus;\r
+  UINT32                LogChangeToken;\r
+  UINT32                AccessMethodAddress;\r
+  UINT8                 LogHeaderFormat;\r
+  UINT8                 NumberOfSupportedLogType;\r
+  UINT8                 LengthOfLogDescriptor;\r
+} EFI_MISC_SYSTEM_EVENT_LOG_DATA;\r
+\r
+//\r
+// Access Method.\r
+//  0x00~0x04:  as following definition\r
+//  0x05~0x7f:  Available for future assignment.\r
+//  0x80~0xff:  BIOS Vendor/OEM-specific.\r
+// \r
+#define ACCESS_INDEXIO_1INDEX8BIT_DATA8BIT    0x00\r
+#define ACCESS_INDEXIO_2INDEX8BIT_DATA8BIT    0X01\r
+#define ACCESS_INDEXIO_1INDEX16BIT_DATA8BIT   0X02\r
+#define ACCESS_MEMORY_MAPPED                  0x03\r
+#define ACCESS_GPNV                           0x04\r
+\r
+//\r
+//////////////////////////////////////////////////////////////////////////////\r
+//\r
+//Management Device Threshold Data Record - SMBIOS Type 36\r
+//\r
+#define EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD_RECORD_NUMBER  0x00000021\r
+\r
+typedef struct {\r
+  UINT16                          LowerThresNonCritical;\r
+  UINT16                          UpperThresNonCritical;\r
+  UINT16                          LowerThresCritical;\r
+  UINT16                          UpperThresCritical;\r
+  UINT16                          LowerThresNonRecover;\r
+  UINT16                          UpperThresNonRecover;\r
+} EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD;\r
+\r
 //\r
 // Declare the following strutures alias to use them more conviniently.\r
 //\r
@@ -1859,6 +2020,14 @@ typedef EFI_MISC_BIS_ENTRY_POINT_DATA                     EFI_MISC_BIS_ENTRY_POI
 typedef EFI_MISC_BOOT_INFORMATION_STATUS_DATA             EFI_MISC_BOOT_INFORMATION_STATUS;\r
 typedef EFI_MISC_SYSTEM_POWER_SUPPLY_DATA                 EFI_MISC_SYSTEM_POWER_SUPPLY;\r
 typedef EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA         EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION;\r
+typedef EFI_MISC_SCHEDULED_POWER_ON_MONTH_DATA            EFI_MISC_SCHEDULED_POWER_ON_MONTH;\r
+typedef EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_DATA           EFI_MISC_VOLTAGE_PROBE_DESCRIPTION;\r
+typedef EFI_MISC_COOLING_DEVICE_TEMP_LINK_DATA            EFI_MISC_COOLING_DEVICE_TEMP_LINK;\r
+typedef EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_DATA       EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION;\r
+typedef EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_DATA \r
+                                                          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
 \r
 typedef union {\r
   EFI_MISC_LAST_PCI_BUS_DATA                         LastPciBus;\r
@@ -1894,6 +2063,7 @@ typedef union {
   EFI_MISC_IPMI_INTERFACE_TYPE_DATA                  MiscIpmiInterfaceTypeData;\r
   EFI_MISC_SYSTEM_POWER_SUPPLY_DATA                  MiscPowerSupplyInfo;\r
   EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA          MiscSmbiosStructEncapsulation;\r
+  EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD               MiscManagementDeviceThreshold;\r
 } EFI_MISC_SUBCLASS_RECORDS;\r
 \r
 //\r