]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Guid/DataHubRecords.h
add comment on mismatch between code and MiscSubclass spec.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Guid / DataHubRecords.h
index cda861a4fbc73e694c501bf825d19abfd4616953..785577b4a580d99dcd8519d05d5524585fc0183d 100644 (file)
 #ifndef _DATAHUB_RECORDS_GUID_H_\r
 #define _DATAHUB_RECORDS_GUID_H_\r
 \r
+//\r
+// The include is required to retrieve type EFI_EXP_BASE10_DATA\r
+//\r
+#include <Guid/StatusCodeDataTypeId.h>\r
+\r
 #define EFI_PROCESSOR_SUBCLASS_GUID \\r
   { 0x26fdeb7e, 0xb8af, 0x4ccf, {0xaa, 0x97, 0x02, 0x63, 0x3c, 0xe4, 0x8c, 0xa7 } }\r
 \r
@@ -46,7 +51,7 @@ extern  EFI_GUID  gEfiMiscSubClassGuid;
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the value is 0x0100.\r
+/// In ProcSubclass spec 0.9, the value is 0x0100.\r
 /// Keep it unchanged from the perspective of binary consistency.\r
 ///\r
 #define EFI_PROCESSOR_SUBCLASS_VERSION    0x00010000\r
@@ -251,21 +256,6 @@ typedef struct {
   UINT16                            Exponent;\r
 } EFI_EXP_BASE2_DATA;\r
 \r
-///\r
-/// This macro provides a calculation for base-2 representations. Value and Exponent are each \r
-/// INT16. It is 16 bits wide and is unsigned to mean nonnegative values.  \r
-///\r
-typedef struct {\r
-  ///\r
-  /// The INT16 number by which to multiply the base-2 representation.\r
-  ///\r
-  INT16                            Value;\r
-  ///\r
-  /// The INT16 number by which to raise the base-2 calculation. \r
-  ///\r
-  INT16                            Exponent;\r
-} EFI_EXP_BASE10_DATA;\r
-\r
 typedef EFI_EXP_BASE10_DATA        EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA;\r
 typedef EFI_EXP_BASE10_DATA        EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA;\r
 typedef EFI_EXP_BASE10_DATA        EFI_PROCESSOR_CORE_FREQUENCY_DATA;\r
@@ -696,7 +686,7 @@ typedef STRING_REF                  EFI_PROCESSOR_SOCKET_NAME_DATA;
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the naming is EFI_PROCESSOR_CACHE_ASSOCIATION_DATA.\r
+/// In ProcSubclass spec 0.9, the naming is EFI_PROCESSOR_CACHE_ASSOCIATION_DATA.\r
 /// Keep it unchanged for backward compatibilty.\r
 ///\r
 typedef EFI_INTER_LINK_DATA         EFI_CACHE_ASSOCIATION_DATA;\r
@@ -705,7 +695,7 @@ typedef EFI_INTER_LINK_DATA         EFI_CACHE_ASSOCIATION_DATA;
 /// This data record refers to the health status of the processor. \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the naming is EFI_PROCESSOR_HEALTH_STATUS_DATA.\r
+/// In ProcSubclass spec 0.9, the naming is EFI_PROCESSOR_HEALTH_STATUS_DATA.\r
 /// Keep it unchanged for backward compatibilty.\r
 ///\r
 typedef enum {\r
@@ -819,7 +809,7 @@ typedef struct {
 typedef EFI_EXP_BASE2_DATA          EFI_CACHE_SIZE_DATA;\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the naming is EFI_CACHE_MAXIMUM_SIZE_DATA.\r
+/// In CacheSubclass spec 0.9, the naming is EFI_CACHE_MAXIMUM_SIZE_DATA.\r
 /// Keep it unchanged for backward compatibilty.\r
 ///\r
 typedef EFI_EXP_BASE2_DATA          EFI_MAXIMUM_CACHE_SIZE_DATA;\r
@@ -909,7 +899,22 @@ typedef enum {
 } EFI_CACHE_OPERATIONAL_MODE;\r
 \r
 \r
-\r
+///\r
+/// Inconsistent with specification here:\r
+/// In CacheSubclass spec 0.9, the enumeration type data structure is NOT defined.\r
+/// The equivalent in spec is \r
+///      #define EFI_CACHE_SIZE_RECORD_NUMBER                    0x00000001\r
+///      #define EFI_CACHE_MAXIMUM_SIZE_RECORD_NUMBER            0x00000002\r
+///      #define EFI_CACHE_SPEED_RECORD_NUMBER                   0x00000003\r
+///      #define EFI_CACHE_SOCKET_RECORD_NUMBER                  0x00000004\r
+///      #define EFI_CACHE_SRAM_SUPPORT_RECORD_NUMBER            0x00000005 \r
+///      #define EFI_CACHE_SRAM_INSTALL_RECORD_NUMBER            0x00000006 \r
+///      #define EFI_CACHE_ERROR_SUPPORT_RECORD_NUMBER           0x00000007\r
+///      #define EFI_CACHE_TYPE_RECORD_NUMBER                    0x00000008\r
+///      #define EFI_CACHE_ASSOCIATIVITY_RECORD_NUMBER           0x00000009\r
+///      #define EFI_CACHE_CONFIGURATION_RECORD_NUMBER           0x0000000A\r
+/// Keep the definition unchanged for backward compatibility.\r
+///\r
 typedef enum {\r
   CacheSizeRecordType              = 1,\r
   MaximumSizeCacheRecordType       = 2,\r
@@ -1858,7 +1863,7 @@ typedef enum {
 typedef struct {\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass 0.9 spec. It have a wrong field name "EFI_MISC_CHASSIS_TYPE".\r
+  /// In MiscSubclass 0.9 spec, it has a wrong field name "EFI_MISC_CHASSIS_TYPE".\r
   /// Change it to "ChassisType" to pass build.\r
   ///\r
   UINT32                            ChassisType       :16;\r
@@ -2007,6 +2012,12 @@ typedef struct {
   EFI_MISC_PORT_CONNECTOR_TYPE      PortInternalConnectorType;\r
   EFI_MISC_PORT_CONNECTOR_TYPE      PortExternalConnectorType;\r
   EFI_MISC_PORT_TYPE                PortType;\r
+  ///\r
+  /// Inconsistent with specification here:  \r
+  /// In MiscSubclass spec 0.9, the type of this field are defined as EFI_DEVICE_PATH_PROTOCOL,\r
+  /// which causes the implementation has a little complexity. Keep it unchanged for backward \r
+  /// compatibility.\r
+  ///\r
   EFI_MISC_PORT_DEVICE_PATH         PortPath;\r
 } EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA;\r
 \r
@@ -2639,7 +2650,7 @@ typedef struct {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the field name is EFI_MISC_POWER_SUPPLY_UNIT_GROUP_DATA.\r
+/// In MiscSubclass spec 0.9, the structure name is EFI_MISC_POWER_SUPPLY_UNIT_GROUP_DATA.\r
 /// Keep it unchanged for backward compatibilty.\r
 ///\r
 typedef struct {\r