MdeModulePkg/FaultTolerantWriteDxe: implement standalone MM version
[mirror_edk2.git] / IntelFrameworkPkg / FrameworkSpecConformance.txt
index 36644c8..f5e601e 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
-# 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
@@ -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
-# 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
@@ -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
-    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
-    \r
+\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
+\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_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
       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
     } 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
     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
       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
       #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
       ...\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
     } 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
       ...\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
-    \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
-    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
-    typedef struct { \r
+    typedef struct {\r
       ...\r
-      EFI_EXP_BASE10_DATA      MemorySpeed; \r
+      EFI_EXP_BASE10_DATA      MemorySpeed;\r
       ...\r
     } EFI_MEMORY_ARRAY_LINK_DATA;\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
       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
     } 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
-    typedef enum {  \r
+    typedef enum {\r
       EfiMemoryErrorOther             = 1,\r
       EfiMemoryErrorUnknown           = 2,\r
       EfiMemoryErrorOk                = 3,\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
-    typedef enum {  \r
+    typedef enum {\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
-    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
-    \r
+\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
-    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
       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
-    \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
-    \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
-    \r
+\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
-    \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
-    \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
-    \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
-    \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
-    \r
+\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
-    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
     } 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
     } EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA;\r
 \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
+       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
     } 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
     "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
     } 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
     } 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
       ...\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
       ...\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
     #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
     } 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
       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
     #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
     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
 ##\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
       }\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
       ...\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
       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
-    \r
+\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
-    \r
+\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
-    \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
-    \r
+\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
-    #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
       ...\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
   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
     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