]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Guid/DataHubRecords.h
Grammatical and disclaimer changes (does not follow internal C coding stds.)
[mirror_edk2.git] / IntelFrameworkPkg / Include / Guid / DataHubRecords.h
index 10d33ec9204863272fb593babedcc9f6153e1fac..7fc87a49ead76f79641d139050dda21987ee9ed5 100644 (file)
@@ -1,23 +1,28 @@
 /** @file\r
-  DataHubRecord.h includes all data hub sub class GUID definitions.\r
+  DataHubRecord.h includes all data hub subclass GUID definitions.\r
 \r
   This file includes all data hub sub class defitions from \r
-  Cache subclass spec 0.9, DataHub SubClass spec 0.9, Memory SubClass Spec 0.9,\r
-  Processor Subclass spec 0.9, and Misc SubClass spec 0.9.\r
+  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 - 2009, Intel Corporation\r
-  All rights reserved. This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2007 - 2010, 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
+http://opensource.org/licenses/bsd-license.php.                                          \r
+    \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
 **/\r
 #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 ProcSubclass spec 0.9, the value is 0x0100.\r
+/// In ProcSubclass specification 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
@@ -141,7 +146,7 @@ typedef struct _FLOOPY_CONN_DEVICE_PATH {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, this data structure and corrsponding fields are NOT defined.\r
+/// In MiscSubclass specification 0.9, this data structure and corrsponding fields are NOT defined.\r
 /// It's implementation-specific to simplify the code logic.\r
 ///\r
 typedef union _EFI_MISC_PORT_DEVICE_PATH {\r
@@ -162,7 +167,7 @@ typedef union _EFI_MISC_PORT_DEVICE_PATH {
 /// String Token Definition\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// The macro isn't defined by any spec.\r
+/// The macro isn't defined by any specification.\r
 /// Keep it unchanged for backward compatibility.\r
 ///\r
 #define EFI_STRING_TOKEN          UINT16\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
@@ -279,7 +269,7 @@ typedef EFI_EXP_BASE10_DATA        EFI_PROCESSOR_CORE_FREQUENCY_DATA;
 /// that the processor/driver supports automatic frequency selection. \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// According to MiscSubclass 0.9 spec, it should be a pointer since it refers to a list of frequencies.\r
+/// According to MiscSubclass 0.9 specification, it should be a pointer since it refers to a list of frequencies.\r
 ///\r
 typedef EFI_EXP_BASE10_DATA        *EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA;\r
 \r
@@ -312,7 +302,7 @@ typedef struct {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// The name of third field in ProcSubClass spec0.9 is LogicalProcessorCount.\r
+/// The name of third field in ProcSubClass specification 0.9 is LogicalProcessorCount.\r
 /// Keep it unchanged for backward compatibility.\r
 ///\r
 typedef struct {\r
@@ -462,7 +452,7 @@ typedef enum {
   EfiProcessorFamilyUltraSparcIII          = 0x57,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field in ProcSubClass spec 0.9 is defined as EfiProcessorFamilyUltraSparcIIi.\r
+  /// This field in ProcSubClass specification 0.9 is defined as EfiProcessorFamilyUltraSparcIIi.\r
   /// Change it to EfiProcessorFamilyUltraSparcIIIi to avoid build break.\r
   ///\r
   EfiProcessorFamilyUltraSparcIIIi         = 0x58,\r
@@ -504,37 +494,37 @@ typedef enum {
   EfiProcessorFamilyIntelItanium2          = 0xB8,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyIntelPentiumM          = 0xB9,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyIntelCeleronD          = 0xBA,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyIntelPentiumD          = 0xBB,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyIntelPentiumEx         = 0xBC,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyIntelCoreSolo          = 0xBD,  \r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyReserved               = 0xBE,  \r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyIntelCore2             = 0xBF,\r
   EfiProcessorFamilyIBM390                 = 0xC8,\r
@@ -542,44 +532,44 @@ typedef enum {
   EfiProcessorFamilyG5                     = 0xCA,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification  0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyG6                     = 0xCB,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyzArchitectur           = 0xCC,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyViaC7M                 = 0xD2,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyViaC7D                 = 0xD3,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyViaC7                  = 0xD4,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyViaEden                = 0xD5,\r
   EfiProcessorFamilyi860                   = 0xFA,\r
   EfiProcessorFamilyi960                   = 0xFB,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyIndicatorFamily2       = 0xFE,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorFamilyReserved1              = 0xFF\r
 } EFI_PROCESSOR_FAMILY_DATA;\r
@@ -671,22 +661,22 @@ typedef enum {
   EfiProcessorSocket940              = 0x11,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorSocket939              = 0x12,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorSocketmPGA604          = 0x13,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorSocketLGA771           = 0x14,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in ProcSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in ProcSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiProcessorSocketLGA775           = 0x15\r
 \r
@@ -696,7 +686,7 @@ typedef STRING_REF                  EFI_PROCESSOR_SOCKET_NAME_DATA;
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In ProcSubclass spec 0.9, the naming is EFI_PROCESSOR_CACHE_ASSOCIATION_DATA.\r
+/// In ProcSubclass specification 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 ProcSubclass spec 0.9, the naming is EFI_PROCESSOR_HEALTH_STATUS_DATA.\r
+/// In ProcSubclass specification 0.9, the naming is EFI_PROCESSOR_HEALTH_STATUS_DATA.\r
 /// Keep it unchanged for backward compatibilty.\r
 ///\r
 typedef enum {\r
@@ -723,8 +713,8 @@ typedef UINTN                       EFI_PROCESSOR_PACKAGE_NUMBER_DATA;
 \r
 ///\r
 /// Inconsistent with specification here:\r
-/// In ProcSubclass spec 0.9, the enumeration type data structure is NOT defined.\r
-/// The equivalent in spec is \r
+/// In ProcSubclass specification 0.9, the enumeration type data structure is NOT defined.\r
+/// The equivalent in specification is \r
 ///      #define EFI_PROCESSOR_FREQUENCY_RECORD_NUMBER           0x00000001\r
 ///      #define EFI_PROCESSOR_BUS_FREQUENCY_RECORD_NUMBER       0x00000002\r
 ///      #define EFI_PROCESSOR_VERSION_RECORD_NUMBER             0x00000003\r
@@ -780,7 +770,7 @@ typedef enum {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In ProcSubclass spec 0.9, the union type data structure is NOT defined.\r
+/// In ProcSubclass specification 0.9, the union type data structure is NOT defined.\r
 /// It's implementation-specific to simplify the code logic.\r
 ///\r
 typedef union {\r
@@ -819,7 +809,7 @@ typedef struct {
 typedef EFI_EXP_BASE2_DATA          EFI_CACHE_SIZE_DATA;\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In CacheSubclass spec 0.9, the naming is EFI_CACHE_MAXIMUM_SIZE_DATA.\r
+/// In CacheSubclass specification 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
@@ -869,8 +859,8 @@ typedef enum {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In CacheSubclass 0.9 spec. It defines the field type as UINT16.\r
-/// In fact, it should be UINT32 type since it refers to a 32bit width data.\r
+/// In CacheSubclass 0.9 specification. It defines the field type as UINT16.\r
+/// In fact, it should be UINT32 type because it refers to a 32bit width data.\r
 ///\r
 typedef struct {\r
   UINT32                            Level           :3;\r
@@ -911,8 +901,8 @@ typedef enum {
 \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
+/// In CacheSubclass specification 0.9, the enumeration type data structure is NOT defined.\r
+/// The equivalent in specification 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
@@ -940,7 +930,7 @@ typedef enum {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In CacheSubclass spec0.9, the union type data structure is NOT defined.\r
+/// In CacheSubclass specification 0.9, the union type data structure is NOT defined.\r
 /// It's implementation-specific to simplify the code logic.\r
 ///\r
 typedef union {\r
@@ -1107,7 +1097,7 @@ typedef enum _EFI_MEMORY_FORM_FACTOR {
   EfiMemoryFormFactorSrimm                    = 0x0E,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in MemSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in MemSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiMemoryFormFactorFbDimm                   = 0x0F\r
 } EFI_MEMORY_FORM_FACTOR;\r
@@ -1133,12 +1123,12 @@ typedef enum _EFI_MEMORY_ARRAY_TYPE {
   EfiMemoryTypeDdr                            = 0x12,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in MemSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in MemSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiMemoryTypeDdr2                           = 0x13,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in MemSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in MemSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiMemoryTypeDdr2FbDimm                     = 0x14\r
 } EFI_MEMORY_ARRAY_TYPE;\r
@@ -1169,7 +1159,7 @@ typedef enum {
   EfiMemoryStateDisabled     = 5,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// This field is NOT defined in MemSubClass spec0.9. It's introduced for SMBIOS2.6 spec.\r
+  /// This field is NOT defined in MemSubClass specification 0.9. It's introduced for SMBIOS2.6 specification.\r
   ///\r
   EfiMemoryStatePartial      = 6\r
 } EFI_MEMORY_STATE;\r
@@ -1250,7 +1240,7 @@ typedef struct {
   /// The memory speed in megahertz (MHz). A value of 0x00 denotes that \r
   /// the speed is unknown.\r
        /// Inconsistent with specification here:  \r
-       /// In MemSubclass spec 0.9, the naming is MemoryTypeSpeed.\r
+       /// In MemSubclass specification 0.9, the naming is MemoryTypeSpeed.\r
        /// Keep it unchanged for backward compatibilty.\r
        ///\r
   EFI_EXP_BASE10_DATA               MemorySpeed;\r
@@ -1399,14 +1389,14 @@ typedef struct {
 //\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 5.\r
 ///\r
 #define EFI_MEMORY_CONTROLLER_INFORMATION_RECORD_NUMBER    0x00000008\r
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 5.\r
 ///\r
 typedef enum {  \r
@@ -1422,7 +1412,7 @@ typedef enum {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 5.\r
 ///\r
 typedef struct {\r
@@ -1437,7 +1427,7 @@ typedef struct {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 5.\r
 ///\r
 typedef enum {  \r
@@ -1452,7 +1442,7 @@ typedef enum {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 5.\r
 ///\r
 typedef struct {\r
@@ -1466,7 +1456,7 @@ typedef struct {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 5.\r
 ///\r
 typedef struct {\r
@@ -1486,7 +1476,7 @@ typedef struct {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 5.\r
 ///\r
 typedef struct {\r
@@ -1501,7 +1491,7 @@ typedef struct {
 /// Use EFI_MEMORY_CONTROLLER_INFORMATION_DATA instead\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 5.\r
 ///\r
 typedef struct {\r
@@ -1520,7 +1510,7 @@ typedef struct {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 5.\r
 ///\r
 typedef struct {\r
@@ -1541,13 +1531,13 @@ typedef struct {
 /// Memory. Error Information - SMBIOS Type 18\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 18.\r
 ///\r
 #define EFI_MEMORY_32BIT_ERROR_INFORMATION_RECORD_NUMBER    0x00000009\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 18.\r
 ///\r
 typedef enum {  \r
@@ -1568,7 +1558,7 @@ typedef enum {
 } EFI_MEMORY_ERROR_TYPE;\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 18.\r
 ///\r
 typedef enum {  \r
@@ -1579,7 +1569,7 @@ typedef enum {
 } EFI_MEMORY_ERROR_GRANULARITY_TYPE;\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 18.\r
 ///\r
 typedef enum {  \r
@@ -1591,7 +1581,7 @@ typedef enum {
 } EFI_MEMORY_ERROR_OPERATION_TYPE;\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 18.\r
 ///\r
 typedef struct {\r
@@ -1605,17 +1595,17 @@ typedef struct {
 } EFI_MEMORY_32BIT_ERROR_INFORMATION;\r
 \r
 ///\r
-/// Memory. Error Information - SMBIOS Type 33\r
+/// Memory. Error Information - SMBIOS Type 33.\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 33.\r
 ///\r
 #define EFI_MEMORY_64BIT_ERROR_INFORMATION_RECORD_NUMBER    0x0000000A\r
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It's introduced for SmBios 2.6 type 33.\r
 ///\r
 typedef struct {\r
@@ -1630,7 +1620,7 @@ typedef struct {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It is implementation-specific to simplify the code logic.\r
 ///\r
 typedef union _EFI_MEMORY_SUBCLASS_RECORDS {\r
@@ -1731,26 +1721,26 @@ typedef struct {
                                     BiosCharacteristics2;\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass spec 0.9, this data structure and corrsponding fields are NOT defined.\r
-  /// It's introduced for SmBios 2.6 spec type 0.\r
+  /// In MiscSubclass specification 0.9, this data structure and corrsponding fields are NOT defined.\r
+  /// It's introduced for SmBios 2.6 specification type 0.\r
   ///\r
   UINT8                             BiosMajorRelease;\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass spec 0.9, this data structure and corrsponding fields are NOT defined.\r
-  /// It's introduced for SmBios 2.6 spec type 0.\r
+  /// In MiscSubclass specification 0.9, this data structure and corrsponding fields are NOT defined.\r
+  /// It's introduced for SmBios 2.6 specification type 0.\r
   ///\r
   UINT8                             BiosMinorRelease;\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass spec 0.9, this data structure and corrsponding fields are NOT defined.\r
-  /// It's introduced for SmBios 2.6 spec type 0.\r
+  /// In MiscSubclass specification 0.9, this data structure and corrsponding fields are NOT defined.\r
+  /// It's introduced for SmBios 2.6 specification type 0.\r
   ///\r
   UINT8                             BiosEmbeddedFirmwareMajorRelease;\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass spec 0.9, this data structure and corrsponding fields are NOT defined.\r
-  /// It's introduced for SmBios 2.6 spec type 0.\r
+  /// In MiscSubclass specification 0.9, this data structure and corrsponding fields are NOT defined.\r
+  /// It's introduced for SmBios 2.6 specification type 0.\r
   ///\r
   UINT8                             BiosEmbeddedFirmwareMinorRelease;\r
 } EFI_MISC_BIOS_VENDOR_DATA;\r
@@ -1781,14 +1771,14 @@ typedef struct {
   EFI_MISC_SYSTEM_WAKEUP_TYPE       SystemWakeupType;\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass spec 0.9, this data structure and corrsponding fields are NOT defined.\r
-  /// It's introduced for SmBios 2.6 spec type 1.\r
+  /// In MiscSubclass specification 0.9, this data structure and corrsponding fields are NOT defined.\r
+  /// It's introduced for SmBios 2.6 specification type 1.\r
   ///\r
   STRING_REF                        SystemSKUNumber;\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass spec 0.9, this data structure and corrsponding fields are NOT defined.\r
-  /// It's introduced for SmBios 2.6 spec type 1.\r
+  /// In MiscSubclass specification 0.9, this data structure and corrsponding fields are NOT defined.\r
+  /// It's introduced for SmBios 2.6 specification type 1.\r
   ///\r
   STRING_REF                        SystemFamily;\r
 } EFI_MISC_SYSTEM_MANUFACTURER_DATA;\r
@@ -1873,7 +1863,7 @@ typedef enum {
 typedef struct {\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass 0.9 spec, it has a wrong field name "EFI_MISC_CHASSIS_TYPE".\r
+  /// In MiscSubclass 0.9 specification, it has the incorrect field name "EFI_MISC_CHASSIS_TYPE".\r
   /// Change it to "ChassisType" to pass build.\r
   ///\r
   UINT32                            ChassisType       :16;\r
@@ -2022,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 specification 0.9, this type of field is defined as EFI_DEVICE_PATH_PROTOCOL,\r
+  /// which causes the implementation some 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
@@ -2048,7 +2044,7 @@ typedef enum {
   EfiSlotTypeAgp                          = 0x0F,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass spec 0.9, its naming should be EfiSlotTypeAgp2X\r
+  /// In MiscSubclass specification 0.9, its naming should be EfiSlotTypeAgp2X\r
   /// rather than EfiSlotTypeApg2X.\r
   ///\r
   EfiSlotTypeAgp2X                        = 0x10,\r
@@ -2062,8 +2058,8 @@ typedef enum {
   EfiSlotTypePC98Card                     = 0xA4,\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass spec 0.9, this field isn't defined.\r
-  /// It's introduced for SmBios 2.6 spec type 9.\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
 } EFI_MISC_SLOT_TYPE;\r
@@ -2143,7 +2139,7 @@ typedef struct {
   STRING_REF                        OnBoardDeviceDescription;\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass spec 0.9, the naming is OnBoardDeviceType.\r
+  /// In MiscSubclass specification 0.9, the name is OnBoardDeviceType.\r
   /// Keep it unchanged for backward compatibilty.\r
   ///\r
   EFI_MISC_ONBOARD_DEVICE_STATUS    OnBoardDeviceStatus;\r
@@ -2260,15 +2256,15 @@ typedef struct {
 //\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the naming is EFI_MISC_BATTERY_LOCATION_RECORD_NUMBER.\r
+/// In MiscSubclass specification 0.9, the name is EFI_MISC_BATTERY_LOCATION_RECORD_NUMBER.\r
 /// Keep it unchanged for backward compatibilty.\r
 ///\r
 #define EFI_MISC_PORTABLE_BATTERY_RECORD_NUMBER   0x00000010\r
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the structure name is EFI_MISC_BATTERY_DEVICE_CHEMISTRY.\r
-/// And all field namings are also different with spec.\r
+/// In MiscSubclass specification 0.9, the structure name is EFI_MISC_BATTERY_DEVICE_CHEMISTRY.\r
+/// And all field namings are also different with specification.\r
 /// Keep it unchanged for backward compatibilty.\r
 ///\r
 typedef enum {  \r
@@ -2284,8 +2280,8 @@ typedef enum {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the structure name is EFI_MISC_BATTERY_LOCATION_DATA.\r
-/// And the name and the order of the fields are also different with spec.\r
+/// In MiscSubclass specification 0.9, the structure name is EFI_MISC_BATTERY_LOCATION_DATA.\r
+/// Also, the name and the order of the fields vary with specifications.\r
 /// Keep it unchanged for backward compatibilty.\r
 ///\r
 typedef struct {\r
@@ -2346,9 +2342,9 @@ typedef struct {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, it only mention the possible value of each field in\r
+/// The MiscSubclass specification 0.9 only mentions the possible value of each field in\r
 /// EFI_MISC_HARDWARE_SECURITY_SETTINGS. \r
-/// It's implementation-specific to simplify the code logic.\r
+/// It's implementation-specific in order to to simplify the code logic.\r
 ///\r
 typedef enum {\r
   EfiHardwareSecurityStatusDisabled       = 0,\r
@@ -2524,7 +2520,7 @@ typedef struct {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the structure name is EFI_MISC_BOOT_INFORMATION_STATUS_TYPE.\r
+/// In MiscSubclass specification 0.9, the structure name is EFI_MISC_BOOT_INFORMATION_STATUS_TYPE.\r
 /// Keep it unchanged for backward compatibilty.\r
 ///\r
 typedef enum {\r
@@ -2545,7 +2541,7 @@ typedef enum {
 typedef struct {\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass spec 0.9, the field name is EFI_MISC_BOOT_INFORMATION_STATUS_TYPE.\r
+  /// In MiscSubclass specification 0.9, the field name is EFI_MISC_BOOT_INFORMATION_STATUS_TYPE.\r
   /// Keep it unchanged for backward compatibilty.\r
   ///\r
   EFI_MISC_BOOT_INFORMATION_STATUS_DATA_TYPE BootInformationStatus;\r
@@ -2601,8 +2597,8 @@ typedef struct {
   EFI_INTER_LINK_DATA               ManagementDeviceComponentLink;\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass spec 0.9, this field is NOT defined.\r
-  /// It's introduced for SmBios 2.6 spec type 35.\r
+  /// In MiscSubclass specification 0.9, this field is NOT defined.\r
+  /// It's introduced for SmBios 2.6 specification type 35.\r
   ///\r
   EFI_INTER_LINK_DATA               ManagementDeviceThresholdLink;\r
 } EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA;\r
@@ -2639,7 +2635,7 @@ typedef struct {
 /// System Power supply Record - SMBIOS Type 39\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the type of all fields are UINT32.\r
+/// In MiscSubclass specification 0.9, the type of all fields are UINT32.\r
 /// Keep it unchanged for backward compatibilty.\r
 ///\r
 typedef struct {\r
@@ -2654,7 +2650,7 @@ typedef struct {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the structure name is EFI_MISC_POWER_SUPPLY_UNIT_GROUP_DATA.\r
+/// In MiscSubclass specification 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
@@ -2679,8 +2675,8 @@ typedef struct {
 /// OEM Data Record - SMBIOS Type 0x80-0xFF\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the structure name is EFI_SMBIOS_STRUCTURE_HDR.\r
-/// Due to this structure is commonly used by vendor to construct SmBios type 0x80~0xFF table,\r
+/// In MiscSubclass specification 0.9, the structure name is EFI_SMBIOS_STRUCTURE_HDR.\r
+/// Due to this, the structure is commonly used by vendors to construct SmBios type 0x80~0xFF table,\r
 /// Keep it unchanged for backward compatibilty.\r
 ///\r
 typedef struct {\r
@@ -2692,7 +2688,7 @@ typedef struct {
 typedef struct {\r
   ///\r
   /// Inconsistent with specification here:  \r
-  /// In MiscSubclass spec 0.9, the field name is EFI_SMBIOS_STRUCTURE_HDR.\r
+  /// In MiscSubclass specification 0.9, the field name is EFI_SMBIOS_STRUCTURE_HDR.\r
   /// Keep it unchanged for backward compatibilty.\r
   ///\r
   SMBIOS_STRUCTURE_HDR              Header;\r
@@ -2705,15 +2701,15 @@ typedef struct {
 /// Misc. System Event Log  - SMBIOS Type 15\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the following data structures are NOT defined.\r
-/// It's introduced for SmBios 2.6 spec type 15.\r
+/// In MiscSubclass specification 0.9, the following data structures are NOT defined.\r
+/// It's introduced for SmBios 2.6 specification type 15.\r
 ///\r
 #define EFI_MISC_SYSTEM_EVENT_LOG_RECORD_NUMBER    0x00000020\r
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the following data structures are NOT defined.\r
-/// It's introduced for SmBios 2.6 spec type 15.\r
+/// In MiscSubclass specification 0.9, the following data structures are NOT defined.\r
+/// It's introduced for SmBios 2.6 specification type 15.\r
 ///\r
 typedef struct {\r
   UINT16                            LogAreaLength;\r
@@ -2744,14 +2740,14 @@ typedef struct {
 /// Management Device Threshold Data Record - SMBIOS Type 36\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the following data structures are NOT defined.\r
-/// It's introduced for SmBios 2.6 spec type 36.\r
+/// In MiscSubclass specification 0.9, the following data structures are NOT defined.\r
+/// It's introduced for SmBios 2.6 specification type 36.\r
 ///\r
 #define EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD_RECORD_NUMBER    0x00000021\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MiscSubclass spec 0.9, the following data structures are NOT defined.\r
-/// It's introduced for SmBios 2.6 spec type 36.\r
+/// In MiscSubclass specification 0.9, the following data structures are NOT defined.\r
+/// It's introduced for SmBios 2.6 specification type 36.\r
 ///\r
 typedef struct {\r
   UINT16                            LowerThresNonCritical;\r
@@ -2794,7 +2790,7 @@ typedef EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_DATA EFI_MISC_ELECTRICAL_C
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It is implementation-specific to simplify the code logic.\r
 ///\r
 typedef union {\r
@@ -2836,7 +2832,7 @@ typedef union {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In MemSubclass spec 0.9, the following data structures are NOT defined.\r
+/// In MemSubclass specification 0.9, the following data structures are NOT defined.\r
 /// It is implementation-specific to simplify the code logic.\r
 ///\r
 typedef struct {\r
@@ -2847,13 +2843,13 @@ typedef struct {
 \r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In DataHubSubclass spec 0.9 page 16, the following symbol is NOT defined.\r
+/// In DataHubSubclass specification 0.9 page 16, the following symbol is NOT defined.\r
 /// But value is meaningful, 0 means Reserved.\r
 ///\r
 #define EFI_SUBCLASS_INSTANCE_RESERVED       0\r
 ///\r
 /// Inconsistent with specification here:  \r
-/// In DataHubSubclass spec 0.9 page 16, the following symbol is NOT defined.\r
+/// In DataHubSubclass specification 0.9 page 16, the following symbol is NOT defined.\r
 /// But value is meaningful, -1 means Not Applicable.\r
 ///\r
 #define EFI_SUBCLASS_INSTANCE_NON_APPLICABLE 0xFFFF\r