]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/FrameworkSpecConformance.txt
MdeModulePkg/FaultTolerantWriteDxe: implement standalone MM version
[mirror_edk2.git] / IntelFrameworkPkg / FrameworkSpecConformance.txt
index 5a52bf5190e54af02beb3769dbacccf969d32419..f5e601e3344b82c24d7c51c25127ba45ecb7cb43 100644 (file)
@@ -1,7 +1,7 @@
 ##\r
 # This file is used to document mismatches between Intel Platform Innovation Framework specification\r
 # (http://www.intel.com/technology/framework/spec.htm) and data structures defind at IntelFrameworkPkg\r
 ##\r
 # This file is used to document mismatches between Intel Platform Innovation Framework specification\r
 # (http://www.intel.com/technology/framework/spec.htm) and data structures defind at IntelFrameworkPkg\r
-# package in EdkII Open Source Project (https://edk2.tianocore.org/source/browse/edk2/trunk/edk2/IntelFrameworkPkg)\r
+# package in EdkII Open Source Project (https://github.com/tianocore/edk2/tree/master/IntelFrameworkPkg)\r
 ##\r
 \r
 ##\r
 ##\r
 \r
 ##\r
@@ -15,7 +15,7 @@
 # 4. Some defintitions don't exactly match Framework specification, some new field members are introduced in EdkII\r
 #    to reflect the latest industry standard.\r
 #\r
 # 4. Some defintitions don't exactly match Framework specification, some new field members are introduced in EdkII\r
 #    to reflect the latest industry standard.\r
 #\r
-# Note: \r
+# Note:\r
 #    The IntelFrameworkPkg contains Framework specification contents that were not adopted by UEFI/PI, and names may be\r
 #    changed (such as adding "FRAMEWORK_") to avoid name collisions with approved UEFI/PI specifications.\r
 ##\r
 #    The IntelFrameworkPkg contains Framework specification contents that were not adopted by UEFI/PI, and names may be\r
 #    changed (such as adding "FRAMEWORK_") to avoid name collisions with approved UEFI/PI specifications.\r
 ##\r
@@ -42,9 +42,9 @@
     #pragma pack()\r
 \r
     Section "Alignment" in DataHubSubclass specification say "Fields in a data hub record should be aligned at their\r
     #pragma pack()\r
 \r
     Section "Alignment" in DataHubSubclass specification say "Fields in a data hub record should be aligned at their\r
-    natural boundaries". But in EdkII, the data structures above are packed. \r
+    natural boundaries". But in EdkII, the data structures above are packed.\r
     Keeping this inconsistency for backward compatibility.\r
     Keeping this inconsistency for backward compatibility.\r
-    \r
+\r
   3. Guid/DataHubRecords.h\r
     #define EFI_SUBCLASS_INSTANCE_RESERVED       0\r
     #define EFI_SUBCLASS_INSTANCE_NON_APPLICABLE 0xFFFF\r
   3. Guid/DataHubRecords.h\r
     #define EFI_SUBCLASS_INSTANCE_RESERVED       0\r
     #define EFI_SUBCLASS_INSTANCE_NON_APPLICABLE 0xFFFF\r
@@ -75,7 +75,7 @@
 \r
     The field type of the definition is *NOT* consistent with CacheSubclass specification. Specification defines\r
     them as UINT16, which is incorrect and should be UINT32 because the total width of bit-fields is 32bits width.\r
 \r
     The field type of the definition is *NOT* consistent with CacheSubclass specification. Specification defines\r
     them as UINT16, which is incorrect and should be UINT32 because the total width of bit-fields is 32bits width.\r
-    \r
+\r
   3. Guid/DataHubRecords.h\r
     typedef enum {\r
       CacheSizeRecordType              = 1,\r
   3. Guid/DataHubRecords.h\r
     typedef enum {\r
       CacheSizeRecordType              = 1,\r
@@ -96,8 +96,8 @@
       #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_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_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_ERROR_SUPPORT_RECORD_NUMBER           0x00000007\r
       #define EFI_CACHE_TYPE_RECORD_NUMBER                    0x00000008\r
       #define EFI_CACHE_ASSOCIATIVITY_RECORD_NUMBER           0x00000009\r
       EfiProcessorFamilyIntelCeleronD          = 0xBA,\r
       EfiProcessorFamilyIntelPentiumD          = 0xBB,\r
       EfiProcessorFamilyIntelPentiumEx         = 0xBC,\r
       EfiProcessorFamilyIntelCeleronD          = 0xBA,\r
       EfiProcessorFamilyIntelPentiumD          = 0xBB,\r
       EfiProcessorFamilyIntelPentiumEx         = 0xBC,\r
-      EfiProcessorFamilyIntelCoreSolo          = 0xBD,  \r
-      EfiProcessorFamilyReserved               = 0xBE,  \r
+      EfiProcessorFamilyIntelCoreSolo          = 0xBD,\r
+      EfiProcessorFamilyReserved               = 0xBE,\r
       EfiProcessorFamilyIntelCore2             = 0xBF,\r
       ...\r
       EfiProcessorFamilyG6                     = 0xCB,\r
       EfiProcessorFamilyIntelCore2             = 0xBF,\r
       ...\r
       EfiProcessorFamilyG6                     = 0xCB,\r
     } EFI_PROCESSOR_SOCKET_TYPE_DATA;\r
 \r
     The fields listed here are *NOT* defined in ProcSubclass specification 0.9. They are introduced to support\r
     } EFI_PROCESSOR_SOCKET_TYPE_DATA;\r
 \r
     The fields listed here are *NOT* defined in ProcSubclass specification 0.9. They are introduced to support\r
-    new processor upgrade (type 4 offset 19h) defined in SmBios 2.6 specification. \r
+    new processor upgrade (type 4 offset 19h) defined in SmBios 2.6 specification.\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   5. Guid/DataHubRecords.h\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   5. Guid/DataHubRecords.h\r
     typedef enum {\r
       EfiProcessorHealthy        = 1,\r
       EfiProcessorPerfRestricted = 2,\r
     typedef enum {\r
       EfiProcessorHealthy        = 1,\r
       EfiProcessorPerfRestricted = 2,\r
-      EfiProcessorFuncRestricted = 3 \r
+      EfiProcessorFuncRestricted = 3\r
     } EFI_PROCESSOR_HEALTH_STATUS;\r
 \r
     The structure name "EFI_PROCESSOR_HEALTH_STATUS" is *NOT* consistent with ProcSubclass specification 0.9, in which\r
     } EFI_PROCESSOR_HEALTH_STATUS;\r
 \r
     The structure name "EFI_PROCESSOR_HEALTH_STATUS" is *NOT* consistent with ProcSubclass specification 0.9, in which\r
       ProcessorPartNumberRecordType        = 30,\r
     } EFI_CPU_VARIABLE_RECORD_TYPE;\r
 \r
       ProcessorPartNumberRecordType        = 30,\r
     } EFI_CPU_VARIABLE_RECORD_TYPE;\r
 \r
-    The enumeration fields from ProcessorCoreFrequencyRecordType to ProcessorHealthStatusRecordType are *NOT* defined \r
+    The enumeration fields from ProcessorCoreFrequencyRecordType to ProcessorHealthStatusRecordType are *NOT* defined\r
     in ProcSubclass specification 0.9, which only defines the following macros to specify the record number of the data record:\r
       #define EFI_PROCESSOR_FREQUENCY_RECORD_NUMBER           0x00000001\r
       #define EFI_PROCESSOR_BUS_FREQUENCY_RECORD_NUMBER       0x00000002\r
     in ProcSubclass specification 0.9, which only defines the following macros to specify the record number of the data record:\r
       #define EFI_PROCESSOR_FREQUENCY_RECORD_NUMBER           0x00000001\r
       #define EFI_PROCESSOR_BUS_FREQUENCY_RECORD_NUMBER       0x00000002\r
       #define EFI_PROCESSOR_HEALTH_STATUS_RECORD_NUMBER       0x00000018\r
     Keeping this inconsistency for backward compatibility.\r
 \r
       #define EFI_PROCESSOR_HEALTH_STATUS_RECORD_NUMBER       0x00000018\r
     Keeping this inconsistency for backward compatibility.\r
 \r
-    The enumeration fields from ProcessorCoreCountRecordType to ProcessorPartNumberRecordType are *NOT* defined \r
-    in ProcSubclass specification 0.9. \r
+    The enumeration fields from ProcessorCoreCountRecordType to ProcessorPartNumberRecordType are *NOT* defined\r
+    in ProcSubclass specification 0.9.\r
     They are introduced to support new fields for type 4 defined in SmBios 2.6 specification.\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
     They are introduced to support new fields for type 4 defined in SmBios 2.6 specification.\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
       ...\r
       EFI_PROCESSOR_FAMILY2_DATA              ProcessorFamily2;\r
     } EFI_CPU_VARIABLE_RECORD;\r
       ...\r
       EFI_PROCESSOR_FAMILY2_DATA              ProcessorFamily2;\r
     } EFI_CPU_VARIABLE_RECORD;\r
-    \r
+\r
     typedef struct {\r
       EFI_SUBCLASS_TYPE1_HEADER         DataRecordHeader;\r
       EFI_CPU_VARIABLE_RECORD           VariableRecord;\r
     typedef struct {\r
       EFI_SUBCLASS_TYPE1_HEADER         DataRecordHeader;\r
       EFI_CPU_VARIABLE_RECORD           VariableRecord;\r
     } EFI_PROCESSOR_CHARACTERISTICS_DATA;\r
 \r
     The fields listed here are *NOT* defined in ProcSubclass specification 0.9. They are introduced to support\r
     } EFI_PROCESSOR_CHARACTERISTICS_DATA;\r
 \r
     The fields listed here are *NOT* defined in ProcSubclass specification 0.9. They are introduced to support\r
-    new fields for type 4 defined in SmBios 2.6 specification. \r
+    new fields for type 4 defined in SmBios 2.6 specification.\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
 ##\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
 ##\r
       ...\r
       EfiMemoryFormFactorFbDimm                   = 0x0F\r
     } EFI_MEMORY_FORM_FACTOR;\r
       ...\r
       EfiMemoryFormFactorFbDimm                   = 0x0F\r
     } EFI_MEMORY_FORM_FACTOR;\r
-    \r
+\r
     typedef enum _EFI_MEMORY_ARRAY_TYPE {\r
       ...\r
       EfiMemoryTypeDdr2                           = 0x13,\r
       EfiMemoryTypeDdr2FbDimm                     = 0x14\r
     } EFI_MEMORY_ARRAY_TYPE;\r
     typedef enum _EFI_MEMORY_ARRAY_TYPE {\r
       ...\r
       EfiMemoryTypeDdr2                           = 0x13,\r
       EfiMemoryTypeDdr2FbDimm                     = 0x14\r
     } EFI_MEMORY_ARRAY_TYPE;\r
-    \r
+\r
     typedef enum {\r
       ...\r
       EfiMemoryStatePartial      = 6\r
     } EFI_MEMORY_STATE;\r
 \r
     The fields listed above are *NOT* defined in MemSubclass specification 0.9. They are introduced to support\r
     typedef enum {\r
       ...\r
       EfiMemoryStatePartial      = 6\r
     } EFI_MEMORY_STATE;\r
 \r
     The fields listed above are *NOT* defined in MemSubclass specification 0.9. They are introduced to support\r
-    new memory device (type 17) defined in SmBios 2.6 specification. \r
+    new memory device (type 17) defined in SmBios 2.6 specification.\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   2. Guid/DataHubRecords.h\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   2. Guid/DataHubRecords.h\r
-    typedef struct { \r
+    typedef struct {\r
       ...\r
       ...\r
-      EFI_EXP_BASE10_DATA      MemorySpeed; \r
+      EFI_EXP_BASE10_DATA      MemorySpeed;\r
       ...\r
     } EFI_MEMORY_ARRAY_LINK_DATA;\r
 \r
       ...\r
     } EFI_MEMORY_ARRAY_LINK_DATA;\r
 \r
   3. Guid/DataHubRecords.h\r
     #define EFI_MEMORY_CONTROLLER_INFORMATION_RECORD_NUMBER    0x00000008\r
 \r
   3. Guid/DataHubRecords.h\r
     #define EFI_MEMORY_CONTROLLER_INFORMATION_RECORD_NUMBER    0x00000008\r
 \r
-    typedef enum {  \r
+    typedef enum {\r
       EfiErrorDetectingMethodOther   = 1,\r
       EfiErrorDetectingMethodUnknown = 2,\r
       EfiErrorDetectingMethodNone    = 3,\r
       EfiErrorDetectingMethodOther   = 1,\r
       EfiErrorDetectingMethodUnknown = 2,\r
       EfiErrorDetectingMethodNone    = 3,\r
       UINT8                             Reserved              :2;\r
     } EFI_MEMORY_ERROR_CORRECT_CAPABILITY;\r
 \r
       UINT8                             Reserved              :2;\r
     } EFI_MEMORY_ERROR_CORRECT_CAPABILITY;\r
 \r
-    typedef enum {  \r
+    typedef enum {\r
       EfiMemoryInterleaveOther      = 1,\r
       EfiMemoryInterleaveUnknown    = 2,\r
       EfiMemoryInterleaveOneWay     = 3,\r
       EfiMemoryInterleaveOther      = 1,\r
       EfiMemoryInterleaveUnknown    = 2,\r
       EfiMemoryInterleaveOneWay     = 3,\r
     } EFI_MEMORY_CONTROLLER_INFORMATION_DATA;\r
 \r
     The definitions above are *NOT* defined in MemSubclass specification 0.9. They are introduced to support\r
     } EFI_MEMORY_CONTROLLER_INFORMATION_DATA;\r
 \r
     The definitions above are *NOT* defined in MemSubclass specification 0.9. They are introduced to support\r
-    new memory controller information (type 5) defined in SmBios 2.6 specification. \r
+    new memory controller information (type 5) defined in SmBios 2.6 specification.\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   4. Guid/DataHubRecords.h\r
     #define EFI_MEMORY_32BIT_ERROR_INFORMATION_RECORD_NUMBER    0x00000009\r
 \r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   4. Guid/DataHubRecords.h\r
     #define EFI_MEMORY_32BIT_ERROR_INFORMATION_RECORD_NUMBER    0x00000009\r
 \r
-    typedef enum {  \r
+    typedef enum {\r
       EfiMemoryErrorOther             = 1,\r
       EfiMemoryErrorUnknown           = 2,\r
       EfiMemoryErrorOk                = 3,\r
       EfiMemoryErrorOther             = 1,\r
       EfiMemoryErrorUnknown           = 2,\r
       EfiMemoryErrorOk                = 3,\r
       EfiMemoryErrorUnCorrectable     = 14\r
     } EFI_MEMORY_ERROR_TYPE;\r
 \r
       EfiMemoryErrorUnCorrectable     = 14\r
     } EFI_MEMORY_ERROR_TYPE;\r
 \r
-    typedef enum {  \r
+    typedef enum {\r
       EfiMemoryGranularityOther               = 1,\r
       EfiMemoryGranularityOtherUnknown        = 2,\r
       EfiMemoryGranularityDeviceLevel         = 3,\r
       EfiMemoryGranularityMemPartitionLevel   = 4\r
     } EFI_MEMORY_ERROR_GRANULARITY_TYPE;\r
 \r
       EfiMemoryGranularityOther               = 1,\r
       EfiMemoryGranularityOtherUnknown        = 2,\r
       EfiMemoryGranularityDeviceLevel         = 3,\r
       EfiMemoryGranularityMemPartitionLevel   = 4\r
     } EFI_MEMORY_ERROR_GRANULARITY_TYPE;\r
 \r
-    typedef enum {  \r
+    typedef enum {\r
       EfiMemoryErrorOperationOther            = 1,\r
       EfiMemoryErrorOperationUnknown          = 2,\r
       EfiMemoryErrorOperationRead             = 3,\r
       EfiMemoryErrorOperationOther            = 1,\r
       EfiMemoryErrorOperationUnknown          = 2,\r
       EfiMemoryErrorOperationRead             = 3,\r
     } EFI_MEMORY_32BIT_ERROR_INFORMATION;\r
 \r
     The definitions above are *NOT* defined in MemSubclass specification 0.9. They are introduced to support\r
     } EFI_MEMORY_32BIT_ERROR_INFORMATION;\r
 \r
     The definitions above are *NOT* defined in MemSubclass specification 0.9. They are introduced to support\r
-    new 32-bit memory error information (type 18) defined in SmBios 2.6 specification. \r
+    new 32-bit memory error information (type 18) defined in SmBios 2.6 specification.\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   5. Guid/DataHubRecords.h\r
     #define EFI_MEMORY_64BIT_ERROR_INFORMATION_RECORD_NUMBER    0x0000000A\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   5. Guid/DataHubRecords.h\r
     #define EFI_MEMORY_64BIT_ERROR_INFORMATION_RECORD_NUMBER    0x0000000A\r
-    \r
+\r
     typedef struct {\r
       EFI_MEMORY_ERROR_TYPE             MemoryErrorType;\r
       EFI_MEMORY_ERROR_GRANULARITY_TYPE MemoryErrorGranularity;\r
     typedef struct {\r
       EFI_MEMORY_ERROR_TYPE             MemoryErrorType;\r
       EFI_MEMORY_ERROR_GRANULARITY_TYPE MemoryErrorGranularity;\r
     } EFI_MEMORY_64BIT_ERROR_INFORMATION;\r
 \r
     The definitions above are *NOT* defined in MemSubclass specification 0.9. They are introduced to support\r
     } EFI_MEMORY_64BIT_ERROR_INFORMATION;\r
 \r
     The definitions above are *NOT* defined in MemSubclass specification 0.9. They are introduced to support\r
-    new 64-bit memory error information (type 33) defined in SmBios 2.6 specification. \r
+    new 64-bit memory error information (type 33) defined in SmBios 2.6 specification.\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   6. Guid/DataHubRecords.h\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   6. Guid/DataHubRecords.h\r
       PCI_DEVICE_PATH                   PciBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } USB_PORT_DEVICE_PATH;\r
       PCI_DEVICE_PATH                   PciBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } USB_PORT_DEVICE_PATH;\r
-    \r
+\r
     typedef struct _IDE_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } IDE_DEVICE_PATH;\r
     typedef struct _IDE_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } IDE_DEVICE_PATH;\r
-    \r
+\r
     typedef struct _RMC_CONN_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } RMC_CONN_DEVICE_PATH;\r
     typedef struct _RMC_CONN_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } RMC_CONN_DEVICE_PATH;\r
-    \r
+\r
     typedef struct _RIDE_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } RIDE_DEVICE_PATH;\r
     typedef struct _RIDE_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } RIDE_DEVICE_PATH;\r
-    \r
+\r
     typedef struct _GB_NIC_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciBridgeDevicePath;\r
     typedef struct _GB_NIC_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciBridgeDevicePath;\r
       PCI_DEVICE_PATH                   PciXBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } GB_NIC_DEVICE_PATH;\r
       PCI_DEVICE_PATH                   PciXBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } GB_NIC_DEVICE_PATH;\r
-    \r
+\r
     typedef struct _PS2_CONN_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   LpcBridgeDevicePath;\r
       ACPI_HID_DEVICE_PATH              LpcBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } PS2_CONN_DEVICE_PATH;\r
     typedef struct _PS2_CONN_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   LpcBridgeDevicePath;\r
       ACPI_HID_DEVICE_PATH              LpcBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } PS2_CONN_DEVICE_PATH;\r
-    \r
+\r
     typedef struct _SERIAL_CONN_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   LpcBridgeDevicePath;\r
       ACPI_HID_DEVICE_PATH              LpcBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } SERIAL_CONN_DEVICE_PATH;\r
     typedef struct _SERIAL_CONN_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   LpcBridgeDevicePath;\r
       ACPI_HID_DEVICE_PATH              LpcBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } SERIAL_CONN_DEVICE_PATH;\r
-    \r
+\r
     typedef struct _PARALLEL_CONN_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   LpcBridgeDevicePath;\r
       ACPI_HID_DEVICE_PATH              LpcBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } PARALLEL_CONN_DEVICE_PATH;\r
     typedef struct _PARALLEL_CONN_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   LpcBridgeDevicePath;\r
       ACPI_HID_DEVICE_PATH              LpcBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } PARALLEL_CONN_DEVICE_PATH;\r
-    \r
+\r
     typedef struct _FLOOPY_CONN_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   LpcBridgeDevicePath;\r
       ACPI_HID_DEVICE_PATH              LpcBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } FLOOPY_CONN_DEVICE_PATH;\r
     typedef struct _FLOOPY_CONN_DEVICE_PATH {\r
       ACPI_HID_DEVICE_PATH              PciRootBridgeDevicePath;\r
       PCI_DEVICE_PATH                   LpcBridgeDevicePath;\r
       ACPI_HID_DEVICE_PATH              LpcBusDevicePath;\r
       EFI_DEVICE_PATH_PROTOCOL          EndDevicePath;\r
     } FLOOPY_CONN_DEVICE_PATH;\r
-    \r
+\r
     typedef union _EFI_MISC_PORT_DEVICE_PATH {\r
       USB_PORT_DEVICE_PATH              UsbDevicePath;\r
       IDE_DEVICE_PATH                   IdeDevicePath;\r
     typedef union _EFI_MISC_PORT_DEVICE_PATH {\r
       USB_PORT_DEVICE_PATH              UsbDevicePath;\r
       IDE_DEVICE_PATH                   IdeDevicePath;\r
     } EFI_MISC_BIOS_VENDOR_DATA;\r
 \r
     The fields listed above are *NOT* defined in MiscSubclass specification 0.9. They are introduced to support\r
     } EFI_MISC_BIOS_VENDOR_DATA;\r
 \r
     The fields listed above are *NOT* defined in MiscSubclass specification 0.9. They are introduced to support\r
-    new bios information (type 0) defined in SmBios 2.6 specification. \r
+    new bios information (type 0) defined in SmBios 2.6 specification.\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   4. Guid/DataHubRecords.h\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   4. Guid/DataHubRecords.h\r
     } EFI_MISC_SYSTEM_MANUFACTURER_DATA;\r
 \r
     The fields listed above are *NOT* defined in MiscSubclass specification 0.9. They are introduced to support\r
     } EFI_MISC_SYSTEM_MANUFACTURER_DATA;\r
 \r
     The fields listed above are *NOT* defined in MiscSubclass specification 0.9. They are introduced to support\r
-    new system information (type 1) defined in SmBios 2.6 specification. \r
+    new system information (type 1) defined in SmBios 2.6 specification.\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   5. Guid/DataHubRecords.h\r
     typedef struct {\r
       ...\r
       EFI_INTER_LINK_DATA               ManagementDeviceThresholdLink;\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   5. Guid/DataHubRecords.h\r
     typedef struct {\r
       ...\r
       EFI_INTER_LINK_DATA               ManagementDeviceThresholdLink;\r
+      UINT8                             ComponentType;\r
     } EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA;\r
 \r
     } EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA;\r
 \r
-    The field listed above is *NOT* defined in MiscSubclass specification 0.9. It is introduced to support\r
-    new management device component (type 35) defined in SmBios 2.6 specification. \r
-    Keeping this inconsistency to reflect the latest industry standard.\r
+    a. The field "ManagementDeviceThresholdLink" above is *NOT* defined in MiscSubclass specification 0.9. It is introduced to support\r
+       new management device component (type 35) defined in SmBios 2.6 specification.\r
+       Keeping this inconsistency to reflect the latest industry standard.\r
+    b. The field "ComponentType" above is *NOT* defined in MiscSubclass specifications 0.9. It's implementation-specific to simplify the code logic.\r
+       Keeping this inconsistency for backward compatibility.\r
 \r
   6. Guid/DataHubRecords.h\r
     typedef struct {\r
 \r
   6. Guid/DataHubRecords.h\r
     typedef struct {\r
       ...\r
       EfiSlotTypeAgp2X                  = 0x10,\r
       ...\r
       ...\r
       EfiSlotTypeAgp2X                  = 0x10,\r
       ...\r
-      EfiSlotTypePciExpress             = 0xA5\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
     a. The field name "EfiSlotTypeAgp2X" is *NOT* consistent with MiscSubclass specification 0.9, in which it is named\r
        "EfiSlotTypeApg2X".\r
        From its literal sense, this field represents a AGP type display card, so it should be named as "EfiSlotTypeAgp2X".\r
     } EFI_MISC_SLOT_TYPE;\r
 \r
     a. The field name "EfiSlotTypeAgp2X" is *NOT* consistent with MiscSubclass specification 0.9, in which it is named\r
        "EfiSlotTypeApg2X".\r
        From its literal sense, this field represents a AGP type display card, so it should be named as "EfiSlotTypeAgp2X".\r
-    b. The "EfiSlotTypePciExpress" field is *NOT* defined in MiscSubclass specification 0.9. It isintroduced to support\r
-       new system slots (type 9) defined in SmBios 2.6 specification.\r
+    b. The enumeration fields from "EfiSlotTypePciExpress" to "EfiSlotTypePciExpressX16" are *NOT* defined in MiscSubclass specification 0.9.\r
+       They are introduced to support new system slots (type 9) defined in SmBios 2.6 specification.\r
        Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   8. Guid/DataHubRecords.h\r
        Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   8. Guid/DataHubRecords.h\r
       ...\r
     } EFI_MISC_ONBOARD_DEVICE_DATA;\r
 \r
       ...\r
     } EFI_MISC_ONBOARD_DEVICE_DATA;\r
 \r
-    The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the field "OnBoardDeviceStatus" is \r
+    The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the field "OnBoardDeviceStatus" is\r
     named as "OnBoardDeviceType". Keeping this inconsistency for backward compatibility.\r
 \r
   9. Guid/DataHubRecords.h\r
     named as "OnBoardDeviceType". Keeping this inconsistency for backward compatibility.\r
 \r
   9. Guid/DataHubRecords.h\r
     "EFI_MISC_BATTERY_LOCATION_RECORD_NUMBER". Keeping this inconsistency for backward compatibility.\r
 \r
   10. Guid/DataHubRecords.h\r
     "EFI_MISC_BATTERY_LOCATION_RECORD_NUMBER". Keeping this inconsistency for backward compatibility.\r
 \r
   10. Guid/DataHubRecords.h\r
-    typedef enum {  \r
+    typedef enum {\r
       EfiPortableBatteryDeviceChemistryOther = 1,\r
       EfiPortableBatteryDeviceChemistryUnknown = 2,\r
       EfiPortableBatteryDeviceChemistryLeadAcid = 3,\r
       EfiPortableBatteryDeviceChemistryOther = 1,\r
       EfiPortableBatteryDeviceChemistryUnknown = 2,\r
       EfiPortableBatteryDeviceChemistryLeadAcid = 3,\r
     } EFI_MISC_PORTABLE_BATTERY_DEVICE_CHEMISTRY;\r
 \r
     The name of the definition is *NOT* consistent with MiscSubclass specification, in which it is defined as\r
     } EFI_MISC_PORTABLE_BATTERY_DEVICE_CHEMISTRY;\r
 \r
     The name of the definition is *NOT* consistent with MiscSubclass specification, in which it is defined as\r
-    "EFI_MISC_BATTERY_DEVICE_CHEMISTRY". And all field names have a redundant "Portable" string compared with MisSubclass \r
+    "EFI_MISC_BATTERY_DEVICE_CHEMISTRY". And all field names have a redundant "Portable" string compared with MisSubclass\r
     specification 0.9.\r
     Keeping this inconsistency for backward compatibility.\r
 \r
     specification 0.9.\r
     Keeping this inconsistency for backward compatibility.\r
 \r
     } EFI_MISC_PORTABLE_BATTERY;\r
 \r
     The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the structure name is defined as\r
     } EFI_MISC_PORTABLE_BATTERY;\r
 \r
     The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the structure name is defined as\r
-    "EFI_MISC_BATTERY_LOCATION_DATA". Moreover, the name and the order of all fields are also different with MiscSubclass \r
+    "EFI_MISC_BATTERY_LOCATION_DATA". Moreover, the name and the order of all fields are also different with MiscSubclass\r
     specification 0.9. Keeping this inconsistency for backward compatibility.\r
 \r
   12. Guid/DataHubRecords.h\r
     specification 0.9. Keeping this inconsistency for backward compatibility.\r
 \r
   12. Guid/DataHubRecords.h\r
       ...\r
     } EFI_MISC_BOOT_INFORMATION_STATUS_DATA;\r
 \r
       ...\r
     } EFI_MISC_BOOT_INFORMATION_STATUS_DATA;\r
 \r
-    The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the type of the first field is \r
+    The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the type of the first field is\r
     "EFI_MISC_BOOT_INFORMATION_STATUS_TYPE". Keeping this inconsistency for backward compatibility.\r
 \r
   14. Guid/DataHubRecords.h\r
     "EFI_MISC_BOOT_INFORMATION_STATUS_TYPE". Keeping this inconsistency for backward compatibility.\r
 \r
   14. Guid/DataHubRecords.h\r
       ...\r
     } EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA;\r
 \r
       ...\r
     } EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA;\r
 \r
-    The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the type of the first field is \r
+    The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the type of the first field is\r
     "EFI_SMBIOS_STRUCTURE_HDR". Keeping this inconsistency for backward compatibility.\r
 \r
   17. Guid/DataHubRecords.h\r
     "EFI_SMBIOS_STRUCTURE_HDR". Keeping this inconsistency for backward compatibility.\r
 \r
   17. Guid/DataHubRecords.h\r
     #define ACCESS_GPNV                           0x04\r
 \r
     The definitions listed above are *NOT* defined in MiscSubclass specification 0.9. It is introduced to support\r
     #define ACCESS_GPNV                           0x04\r
 \r
     The definitions listed above are *NOT* defined in MiscSubclass specification 0.9. It is introduced to support\r
-    new system event log (type 15) defined in SmBios 2.6 specification. \r
+    new system event log (type 15) defined in SmBios 2.6 specification.\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   19. Guid/DataHubRecords.h\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   19. Guid/DataHubRecords.h\r
     } EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD;\r
 \r
     The definitions listed above are *NOT* defined in MiscSubclass specification 0.9. It is introduced to support\r
     } EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD;\r
 \r
     The definitions listed above are *NOT* defined in MiscSubclass specification 0.9. It is introduced to support\r
-    new management device threshold data (type 36) defined in SmBios 2.6 specification. \r
+    new management device threshold data (type 36) defined in SmBios 2.6 specification.\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   20. Guid/DataHubRecords.h\r
     Keeping this inconsistency to reflect the latest industry standard.\r
 \r
   20. Guid/DataHubRecords.h\r
       UINT32                            CoolingDeviceOemDefined;\r
     } EFI_MISC_COOLING_DEVICE_TEMP_LINK_DATA;\r
 \r
       UINT32                            CoolingDeviceOemDefined;\r
     } EFI_MISC_COOLING_DEVICE_TEMP_LINK_DATA;\r
 \r
-    The "CoolingDeviceUnitGroup" field and "CoolingDeviceNominalSpeed" field are *NOT* consistent with \r
+    The "CoolingDeviceUnitGroup" field and "CoolingDeviceNominalSpeed" field are *NOT* consistent with\r
     MiscSubclass specification 0.9. These fields are aligned with SMBIOS 2.6 specification. And user can easily\r
     assign any value to CoolingDeviceNominalSpeed.\r
 \r
     MiscSubclass specification 0.9. These fields are aligned with SMBIOS 2.6 specification. And user can easily\r
     assign any value to CoolingDeviceNominalSpeed.\r
 \r
+  22. Guid/DataHubRecords.h\r
+    typedef enum {\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
+    The enumeration fields from "EfiSlotDataBusWidth1xOrx1" to "EfiSlotDataBusWidth32xOrx32" are *NOT* defined in MiscSubclass specification 0.9.\r
+    They are introduced to support new system slots (type 9) defined in SmBios 2.6 specification.\r
+    Keeping this inconsistency to reflect the latest industry standard.\r
+\r
+  23. Guid/DataHubRecords.h\r
+    typedef struct {\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
+      ...\r
+    } EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_DATA;\r
+\r
+    The structure fields from "TemperatureProbeMaximumValue" to "MDUpperNonrecoverableThreshold" are *NOT* consistent with MiscSubclass specification 0.9.\r
+    The specification defines the fields type as EFI_EXP_BASE10_DATA. In fact, they should be UINT16 type because they refer to 16bit width data.\r
+    Keeping this inconsistency for backward compatibility.\r
+\r
+  24. Guid/DataHubRecords.h\r
+    #define EFI_MISC_IPMI_INTERFACE_TYPE_DATA_RECORD_NUMBER EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER\r
+\r
+    The definition above is *NOT* defined in MiscSubclass specifications 0.9. It's defined for backward compatibility.\r
+\r
 ##\r
 # Mismatch with Intel Platform Innovation Framework for Status Codes Specification (Version 0.92)\r
 ##\r
 ##\r
 # Mismatch with Intel Platform Innovation Framework for Status Codes Specification (Version 0.92)\r
 ##\r
     #define EFI_SW_EC_X64_SIMD              EXCEPT_X64_SIMD\r
 \r
     The definitions are *NOT* defined in Framework StatusCodes specification 0.92, in which IA32 and IPF exception subclass error code definitions\r
     #define EFI_SW_EC_X64_SIMD              EXCEPT_X64_SIMD\r
 \r
     The definitions are *NOT* defined in Framework StatusCodes specification 0.92, in which IA32 and IPF exception subclass error code definitions\r
-    are defined but omit the corresponding definitions for X64. EdkII introduce these definitions for implementation. \r
+    are defined but omit the corresponding definitions for X64. EdkII introduce these definitions for implementation.\r
 \r
 ##\r
 # Mismatch with Intel Platform Innovation Framework for EFI Boot Script Specification (Version 0.91)\r
 \r
 ##\r
 # Mismatch with Intel Platform Innovation Framework for EFI Boot Script Specification (Version 0.91)\r
     Keeping this inconsistency for backward compatibility.\r
 \r
   5. Include/Protocol/BootScriptSave.h\r
     Keeping this inconsistency for backward compatibility.\r
 \r
   5. Include/Protocol/BootScriptSave.h\r
-    typedef  \r
-    EFI_STATUS  \r
+    typedef\r
+    EFI_STATUS\r
     (EFIAPI *EFI_BOOT_SCRIPT_CLOSE_TABLE) (\r
       IN  EFI_BOOT_SCRIPT_SAVE_PROTOCOL            *This,\r
       ...\r
     (EFIAPI *EFI_BOOT_SCRIPT_CLOSE_TABLE) (\r
       IN  EFI_BOOT_SCRIPT_SAVE_PROTOCOL            *This,\r
       ...\r
 ##\r
   1. Include/Framework/DxeCis.h\r
     EFI_STATUS_CODE_ARCH_PROTOCOL is removed.\r
 ##\r
   1. Include/Framework/DxeCis.h\r
     EFI_STATUS_CODE_ARCH_PROTOCOL is removed.\r
-    \r
+\r
     EdkII doesn't provide EFI_STATUS_CODE_ARCH_PROTOCOL definition due to ReportStatusCode() field has been\r
     removed from EFI Runtime Service Table of PI specification. EFI_STATUS_CODE_ARCH_PROTOCOL is *NOT* required,\r
     and is replaced with EFI_STATUS_CODE_RUNTIME_PROTOCOL.\r
     EdkII doesn't provide EFI_STATUS_CODE_ARCH_PROTOCOL definition due to ReportStatusCode() field has been\r
     removed from EFI Runtime Service Table of PI specification. EFI_STATUS_CODE_ARCH_PROTOCOL is *NOT* required,\r
     and is replaced with EFI_STATUS_CODE_RUNTIME_PROTOCOL.\r
       }\r
 \r
     The Framework HII specification 0.92 changed part of HII interfaces but did not update the protocol GUID.\r
       }\r
 \r
     The Framework HII specification 0.92 changed part of HII interfaces but did not update the protocol GUID.\r
-    This change should cause a change of GUID in both of code and HII spec. EdkII updates the GUID in code, \r
+    This change should cause a change of GUID in both of code and HII spec. EdkII updates the GUID in code,\r
     but the Framework HII specification 0.92 is not updated. This is a known issue.\r
 \r
   2. Include/Protocol/FrameworkHii.h\r
     but the Framework HII specification 0.92 is not updated. This is a known issue.\r
 \r
   2. Include/Protocol/FrameworkHii.h\r
       ...\r
     };\r
 \r
       ...\r
     };\r
 \r
-    The field listed above is *NOT* defined in Framework HII specification 0.92. EdkII adds this field to provide \r
-    an ability of removing any new strings that were added after the initial string export for this handle.  \r
+    The field listed above is *NOT* defined in Framework HII specification 0.92. EdkII adds this field to provide\r
+    an ability of removing any new strings that were added after the initial string export for this handle.\r
 \r
   5. Include/Protocol/FrameworkHii.h\r
     typedef\r
 \r
   5. Include/Protocol/FrameworkHii.h\r
     typedef\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       UINT8                             Flags;\r
     } EFI_IFR_SUPPRESS;\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       UINT8                             Flags;\r
     } EFI_IFR_SUPPRESS;\r
-    \r
+\r
     typedef struct {\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       UINT8                             Flags;\r
     } EFI_IFR_GRAY_OUT;\r
     typedef struct {\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       UINT8                             Flags;\r
     } EFI_IFR_GRAY_OUT;\r
-    \r
+\r
     typedef struct {\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       STRING_REF                        Popup;\r
       UINT8                             Flags;\r
     } EFI_IFR_INCONSISTENT;\r
     typedef struct {\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       STRING_REF                        Popup;\r
       UINT8                             Flags;\r
     } EFI_IFR_INCONSISTENT;\r
-    \r
+\r
     typedef struct {\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       UINT16                            QuestionId;\r
       UINT8                             Width;\r
       UINT16                            Value;\r
     } FRAMEWORK_EFI_IFR_EQ_ID_VAL;\r
     typedef struct {\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       UINT16                            QuestionId;\r
       UINT8                             Width;\r
       UINT16                            Value;\r
     } FRAMEWORK_EFI_IFR_EQ_ID_VAL;\r
-    \r
+\r
     typedef struct {\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       UINT16                            QuestionId;\r
     typedef struct {\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       UINT16                            QuestionId;\r
       UINT16                            ListLength;\r
       UINT16                            ValueList[1];\r
     } FRAMEWORK_EFI_IFR_EQ_ID_LIST;\r
       UINT16                            ListLength;\r
       UINT16                            ValueList[1];\r
     } FRAMEWORK_EFI_IFR_EQ_ID_LIST;\r
-    \r
+\r
     typedef struct {\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       UINT16                            QuestionId1;\r
       UINT8                             Width;\r
       UINT16                            QuestionId2;\r
     } FRAMEWORK_EFI_IFR_EQ_ID_ID;\r
     typedef struct {\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       UINT16                            QuestionId1;\r
       UINT8                             Width;\r
       UINT16                            QuestionId2;\r
     } FRAMEWORK_EFI_IFR_EQ_ID_ID;\r
-    \r
+\r
     typedef struct {\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       UINT16                            VariableId;\r
     typedef struct {\r
       FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
       UINT16                            VariableId;\r
     The defintions are not complied with Framework HII spec 0.92. Keeping the inconsistent for implementation needed.\r
 \r
   7. Include/Protocol/FrameworkFormCallback.h\r
     The defintions are not complied with Framework HII spec 0.92. Keeping the inconsistent for implementation needed.\r
 \r
   7. Include/Protocol/FrameworkFormCallback.h\r
-    #define RESET_REQUIRED  1 \r
+    #define RESET_REQUIRED  1\r
     #define EXIT_REQUIRED   2\r
     #define SAVE_REQUIRED   4\r
     #define NV_CHANGED      8\r
     #define EXIT_REQUIRED   2\r
     #define SAVE_REQUIRED   4\r
     #define NV_CHANGED      8\r
       ...\r
     } EFI_SMRAM_HOB_DESCRIPTOR_BLOCK;\r
 \r
       ...\r
     } EFI_SMRAM_HOB_DESCRIPTOR_BLOCK;\r
 \r
-    1) The name of the definition is *NOT* consistent with Framework SmmCis specification 0.91, in which it's \r
-    defined as "EFI_HOB_SMRAM_DESCRIPTOR_BLOCK" rather than "EFI_SMRAM_HOB_DESCRIPTOR_BLOCK". \r
+    1) The name of the definition is *NOT* consistent with Framework SmmCis specification 0.91, in which it's\r
+    defined as "EFI_HOB_SMRAM_DESCRIPTOR_BLOCK" rather than "EFI_SMRAM_HOB_DESCRIPTOR_BLOCK".\r
     Keeping this inconsistency for backward compatibility.\r
 \r
     2) The definition of NumberOfSmmReservedRegions is *NOT* consistent with Framework SmmCis specification 0.91,\r
     Keeping this inconsistency for backward compatibility.\r
 \r
     2) The definition of NumberOfSmmReservedRegions is *NOT* consistent with Framework SmmCis specification 0.91,\r
   3. Include/Framework/SmmCis.h\r
     typedef union {\r
       ///\r
   3. Include/Framework/SmmCis.h\r
     typedef union {\r
       ///\r
-      /// The processor save-state information for IA-32 processors. \r
+      /// The processor save-state information for IA-32 processors.\r
       ///\r
       EFI_SMI_CPU_SAVE_STATE     Ia32SaveState;\r
       ///\r
       ///\r
       EFI_SMI_CPU_SAVE_STATE     Ia32SaveState;\r
       ///\r
     EFI_STATUS\r
     (EFIAPI *EFI_ACPI_S3_SAVE) (\r
       IN EFI_ACPI_S3_SAVE_PROTOCOL      *This,\r
     EFI_STATUS\r
     (EFIAPI *EFI_ACPI_S3_SAVE) (\r
       IN EFI_ACPI_S3_SAVE_PROTOCOL      *This,\r
-      IN VOID                           *LegacyMemoryAddress \r
+      IN VOID                           *LegacyMemoryAddress\r
       );\r
 \r
     The first parameter's type is *NOT* consistent with Framework S3Resume specification, in which it's defined as\r
       );\r
 \r
     The first parameter's type is *NOT* consistent with Framework S3Resume specification, in which it's defined as\r