]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/EdkCompatibilityPkg.dsc
MdePkg: introduce standalone MM entry point library implementation
[mirror_edk2.git] / EdkCompatibilityPkg / EdkCompatibilityPkg.dsc
index 0bbbb2bde056a13dc27f71c47e98475bd29102cc..ef0616306495b4f13f6d4504b5d4a1011414998c 100644 (file)
@@ -1,10 +1,10 @@
-#/** @file\r
+## @file\r
 # EDK Compatibility Package Build File\r
 #\r
 #\r
-# Copyright (c) 2008 Intel Corporation\r
+# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
-#  All rights reserved. This program and the accompanying materials\r
+#    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
@@ -12,7 +12,7 @@
 #    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
+##\r
 \r
 ################################################################################\r
 #\r
 [Defines]\r
   PLATFORM_NAME                  = EdkCompatibilityPkg\r
   PLATFORM_GUID                  = 6CBD2F63-BCF2-42b0-937E-869C67D2F734\r
-  PLATFORM_VERSION               = 0.1\r
+  PLATFORM_VERSION               = 0.92\r
   DSC_SPECIFICATION              = 0x00010005\r
   OUTPUT_DIRECTORY               = Build/EdkCompatibilityPkg\r
-  SUPPORTED_ARCHITECTURES        = IA32|X64|IPF\r
+  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC\r
   BUILD_TARGETS                  = DEBUG|RELEASE\r
   SKUID_IDENTIFIER               = DEFAULT\r
-define MSFT_MACRO                = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006\r
-define GCC_MACRO                 = -DEFI_SPECIFICATION_VERSION=0x0002000A -DPI_SPECIFICATION_VERSION=0x00010000 -DTIANO_RELEASE_VERSION=0x00080006\r
+DEFINE MSFT_MACRO                = /D EFI_SPECIFICATION_VERSION=0x00020000 /D PI_SPECIFICATION_VERSION=0x00009000 /D TIANO_RELEASE_VERSION=0x00080006 /D PCD_EDKII_GLUE_PciExpressBaseAddress=0xE0000000 /D EFI_DEBUG\r
+DEFINE INTEL_MACRO                = /D EFI_SPECIFICATION_VERSION=0x00020000 /D PI_SPECIFICATION_VERSION=0x00009000 /D TIANO_RELEASE_VERSION=0x00080006 /D PCD_EDKII_GLUE_PciExpressBaseAddress=0xE0000000 /D EFI_DEBUG\r
+DEFINE GCC_MACRO                 = -DEFI_SPECIFICATION_VERSION=0x00020000 -DPI_SPECIFICATION_VERSION=0x00009000 -DTIANO_RELEASE_VERSION=0x00080006 -DPCD_EDKII_GLUE_PciExpressBaseAddress=0xE0000000 -DEFI_DEBUG\r
 \r
 ################################################################################\r
 #\r
@@ -40,46 +41,112 @@ define GCC_MACRO                 = -DEFI_SPECIFICATION_VERSION=0x0002000A -DPI_S
 [SkuIds]\r
   0|DEFAULT              # The entry: 0|DEFAULT is reserved and always required.\r
 \r
-[BuildOptions]\r
-  MSFT:*_*_IA32_CC_FLAGS    = /D EFI32 $(MSFT_MACRO)\r
-  MSFT:*_*_IA32_ASM_FLAGS   = /DEFI32\r
-  MSFT:*_*_IA32_VFRPP_FLAGS = /D EFI32 $(MSFT_MACRO)\r
-  MSFT:*_*_IA32_APP_FLAGS   = /D EFI32 $(MSFT_MACRO)\r
-  MSFT:*_*_IA32_PP_FLAGS    = /D EFI32 $(MSFT_MACRO)\r
+[LibraryClasses]\r
+  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
+  SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
+  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
+  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
+  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
+  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
+  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
+  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
+  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf  \r
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
+  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
+  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
+  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
+  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
+  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
+  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf\r
+  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
+  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
+  LanguageLib|EdkCompatibilityPkg/Compatibility/Library/UefiLanguageLib/UefiLanguageLib.inf\r
+  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
+  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
+  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
+  CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
+  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
+  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
+  LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf\r
+  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
+  LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf\r
+  SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf\r
 \r
-  MSFT:*_*_X64_CC_FLAGS     = /D EFIX64 $(MSFT_MACRO)\r
-  MSFT:*_*_X64_ASM_FLAGS    = /DEFIX64\r
-  MSFT:*_*_X64_VFRPP_FLAGS  = /D EFIX64 $(MSFT_MACRO)\r
-  MSFT:*_*_X64_APP_FLAGS    = /D EFIX64 $(MSFT_MACRO)\r
-  MSFT:*_*_X64_PP_FLAGS     = /D EFIX64 $(MSFT_MACRO)\r
+[LibraryClasses.common.PEIM]\r
+  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
+  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
 \r
-  MSFT:*_*_IPF_CC_FLAGS     = /D EFI64 $(MSFT_MACRO)\r
-  MSFT:*_*_IPF_ASM_FLAGS    =\r
-  MSFT:*_*_IPF_VFRPP_FLAGS  = /D EFI64 $(MSFT_MACRO)\r
-  MSFT:*_*_IPF_APP_FLAGS    = /D EFI64 $(MSFT_MACRO)\r
-  MSFT:*_*_IPF_PP_FLAGS     = /D EFI64 $(MSFT_MACRO)\r
+[LibraryClasses.common.DXE_DRIVER,LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
 \r
+[LibraryClasses.IA32.DXE_SMM_DRIVER,LibraryClasses.X64.DXE_SMM_DRIVER]\r
+  SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf\r
+  ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf\r
+  MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf\r
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
+\r
+[BuildOptions.Common.EDK]\r
   GCC:*_*_IA32_CC_FLAGS     = -DEFI32 $(GCC_MACRO)\r
-  GCC:*_*_IA32_ASM_FLAGS    = -DEFI32\r
+  GCC:*_*_IA32_ASM_FLAGS    =\r
   GCC:*_*_IA32_VFRPP_FLAGS  = -DEFI32 $(GCC_MACRO)\r
   GCC:*_*_IA32_APP_FLAGS    = -DEFI32 $(GCC_MACRO)\r
   GCC:*_*_IA32_PP_FLAGS     = -DEFI32 $(GCC_MACRO)\r
 \r
   GCC:*_*_X64_CC_FLAGS      = -DEFIX64 $(GCC_MACRO)\r
-  GCC:*_*_X64_ASM_FLAGS     = -DEFIX64\r
+  GCC:*_*_X64_ASM_FLAGS     =\r
   GCC:*_*_X64_VFRPP_FLAGS   = -DEFIX64 $(GCC_MACRO)\r
   GCC:*_*_X64_APP_FLAGS     = -DEFIX64 $(GCC_MACRO)\r
   GCC:*_*_X64_PP_FLAGS      = -DEFIX64 $(GCC_MACRO)\r
 \r
-  GCC:*_*_IPF_CC_FLAGS      = -DEFI64 $(GCC_MACRO)\r
-  GCC:*_*_IPF_ASM_FLAGS     =\r
-  GCC:*_*_IPF_VFRPP_FLAGS   = -DEFI64 $(GCC_MACRO)\r
-  GCC:*_*_IPF_APP_FLAGS     = -DEFI64 $(GCC_MACRO)\r
-  GCC:*_*_IPF_PP_FLAGS      = -DEFI64 $(GCC_MACRO)\r
+  INTEL:*_*_IA32_CC_FLAGS    = /D EFI32 $(MSFT_MACRO)\r
+  INTEL:*_*_IA32_ASM_FLAGS   = /DEFI32\r
+  INTEL:*_*_IA32_VFRPP_FLAGS = /D EFI32 $(MSFT_MACRO)\r
+  INTEL:*_*_IA32_APP_FLAGS   = /D EFI32 $(MSFT_MACRO)\r
+  INTEL:*_*_IA32_PP_FLAGS    = /D EFI32 $(MSFT_MACRO)\r
 \r
+  INTEL:*_*_EBC_CC_FLAGS    = /D EFI32 $(MSFT_MACRO)\r
+  INTEL:*_*_EBC_PP_FLAGS    = /D EFI32 $(MSFT_MACRO)\r
 \r
+  INTEL:*_*_X64_CC_FLAGS     = /D EFIX64 $(MSFT_MACRO)\r
+  INTEL:*_*_X64_ASM_FLAGS    = /DEFIX64\r
+  INTEL:*_*_X64_VFRPP_FLAGS  = /D EFIX64 $(MSFT_MACRO)\r
+  INTEL:*_*_X64_APP_FLAGS    = /D EFIX64 $(MSFT_MACRO)\r
+  INTEL:*_*_X64_PP_FLAGS     = /D EFIX64 $(MSFT_MACRO)\r
 \r
-[Components.Common]\r
+  MSFT:*_*_IA32_CC_FLAGS    = /D EFI32 $(MSFT_MACRO)\r
+  MSFT:*_*_IA32_ASM_FLAGS   = /DEFI32\r
+  MSFT:*_*_IA32_VFRPP_FLAGS = /D EFI32 $(MSFT_MACRO)\r
+  MSFT:*_*_IA32_APP_FLAGS   = /D EFI32 $(MSFT_MACRO)\r
+  MSFT:*_*_IA32_PP_FLAGS    = /D EFI32 $(MSFT_MACRO)\r
+\r
+  MSFT:*_*_X64_CC_FLAGS     = /D EFIX64 $(MSFT_MACRO)\r
+  MSFT:*_*_X64_ASM_FLAGS    = /DEFIX64\r
+  MSFT:*_*_X64_VFRPP_FLAGS  = /D EFIX64 $(MSFT_MACRO)\r
+  MSFT:*_*_X64_APP_FLAGS    = /D EFIX64 $(MSFT_MACRO)\r
+  MSFT:*_*_X64_PP_FLAGS     = /D EFIX64 $(MSFT_MACRO)\r
+\r
+###################################################################################################\r
+#\r
+# Components Section - list of the modules and components that will be processed by compilation\r
+#                      tools and the EDK II tools to generate PE32/PE32+/Coff image files.\r
+#\r
+# Note: The EDK II DSC file is not used to specify how compiled binary images get placed\r
+#       into firmware volume images. This section is just a list of modules to compile from\r
+#       source into UEFI-compliant binaries.\r
+#       It is the FDF file that contains information on combining binary files into firmware\r
+#       volume images, whose concept is beyond UEFI and is described in PI specification.\r
+#       Binary modules do not need to be listed in this section, as they should be\r
+#       specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),\r
+#       Logo (Logo.bmp), and etc.\r
+#       There may also be modules listed in this section that are not required in the FDF file,\r
+#       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be\r
+#       generated for it, but the binary will not be put into any firmware volume.\r
+#\r
+###################################################################################################\r
+\r
+[Components]\r
 \r
 # All Libraries Instances listed in Alphabetic Order\r
   EdkCompatibilityPkg/Foundation/Core/Dxe/ArchProtocol/ArchProtocolLib.inf\r
@@ -90,12 +157,9 @@ define GCC_MACRO                 = -DEFI_SPECIFICATION_VERSION=0x0002000A -DPI_S
   EdkCompatibilityPkg/Foundation/Framework/Protocol/EdkFrameworkProtocolLib.inf\r
   EdkCompatibilityPkg/Foundation/Guid/EdkGuidLib.inf\r
 \r
-  #\r
-  # BugBug: Can't pass IPF build. Will investigate and add back later.\r
-  #\r
-#  EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib_Edk2.inf\r
   EdkCompatibilityPkg/Foundation/Library/CustomizedDecompress/CustomizedDecompress.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib_Edk2.inf\r
   EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/EfiIfrSupportLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/Dxe/EfiScriptLib/EfiScriptLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.inf\r
@@ -105,9 +169,9 @@ define GCC_MACRO                 = -DEFI_SPECIFICATION_VERSION=0x0002000A -DPI_S
   EdkCompatibilityPkg/Foundation/Library/Dxe/Print/PrintLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/Dxe/PrintLite/PrintLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiEfiIfrSupportLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Smm/SmmScriptLib/SmmScriptLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
-  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseLib/BaseLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseMemoryLib/BaseMemoryLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
@@ -125,12 +189,8 @@ define GCC_MACRO                 = -DEFI_SPECIFICATION_VERSION=0x0002000A -DPI_S
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeIoLibCpuIo/DxeIoLibCpuIo.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf\r
 \r
-  #\r
-  # BugBug: Can't pass IPF build. Will investigate and add back later.\r
-  #\r
-# EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxePerformanceLib/DxePerformanceLib.inf\r
-\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/SmmRuntimeDxeReportStatusCodeLib/SmmRuntimeDxeReportStatusCodeLib.inf  \r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeSmbusLib/DxeSmbusLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/EdkDxeRuntimeDriverLib/EdkDxeRuntimeDriverLib.inf\r
@@ -139,10 +199,6 @@ define GCC_MACRO                 = -DEFI_SPECIFICATION_VERSION=0x0002000A -DPI_S
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiHobLib/PeiHobLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
-  #\r
-  # BugBug: Can't pass IPF build. Will investigate and add back later.\r
-  #\r
-# EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiServicesLib/PeiServicesLib.inf\r
@@ -153,11 +209,10 @@ define GCC_MACRO                 = -DEFI_SPECIFICATION_VERSION=0x0002000A -DPI_S
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiDriverModelLib/UefiDriverModelLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiLib/UefiLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib_Edk2.inf\r
   EdkCompatibilityPkg/Foundation/Library/Pei/Hob/PeiHobLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/Thunk16/Thunk16Lib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib_Edk2.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Thunk16/Thunk16Lib_Edk2.inf\r
   EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf\r
   EdkCompatibilityPkg/Foundation/Protocol/EdkProtocolLib.inf\r
   EdkCompatibilityPkg/Sample/Platform/Generic/MonoStatusCode/Library/Pei/MemoryStatusCode/MemoryStatusCode.inf\r
@@ -170,14 +225,153 @@ define GCC_MACRO                 = -DEFI_SPECIFICATION_VERSION=0x0002000A -DPI_S
   EdkCompatibilityPkg/Sample/Platform/Nt32/Ppi/EdkNt32PpiLib.inf\r
   EdkCompatibilityPkg/Sample/Platform/Nt32/Protocol/EdkNt32ProtocolLib.inf\r
 \r
+  #\r
+  # Modules in Compatibility Directory\r
+  #\r
+  EdkCompatibilityPkg/Compatibility/DeviceIoOnPciRootBridgeIoThunk/DeviceIoOnPciRootBridgeIoThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/FrameworkHiiOnUefiHiiThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/FvFileLoaderOnLoadFileThunk/FvFileLoaderOnLoadFileThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/FvOnFv2Thunk/FvOnFv2Thunk.inf\r
+  EdkCompatibilityPkg/Compatibility/Fv2OnFvThunk/Fv2OnFvThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/PciCfg2OnPciCfgThunk/PciCfg2OnPciCfgThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/PciCfgOnPciCfg2Thunk/PciCfgOnPciCfg2Thunk.inf\r
+  EdkCompatibilityPkg/Compatibility/ReadOnlyVariable2OnReadOnlyVariableThunk/ReadOnlyVariable2OnReadOnlyVariableThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/ReadOnlyVariableOnReadOnlyVariable2Thunk/ReadOnlyVariableOnReadOnlyVariable2Thunk.inf\r
+  EdkCompatibilityPkg/Compatibility/Uc2OnUcThunk/Uc2OnUcThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/UcOnUc2Thunk/UcOnUc2Thunk.inf\r
+  EdkCompatibilityPkg/Compatibility/PrintThunk/PrintThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/LegacyRegion2OnLegacyRegionThunk/LegacyRegion2OnLegacyRegionThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/PiSmbiosRecordOnDataHubSmbiosRecordThunk/PiSmbiosRecordOnDataHubSmbiosRecordThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/CpuIo2OnCpuIoThunk/CpuIo2OnCpuIoThunk.inf\r
+\r
+  #\r
+  # User needs to turn on the compatibility switches for VFRC and EDK II build tool for Framework HII modules \r
+  # following the example shown below: \r
+  #\r
+  #  $SomePackage/FrameworkHiiModule/FrameworkHiiModule.inf {\r
+  #    <BuildOptions>\r
+  #    *_*_*_VFR_FLAGS = -c # for VFR files in the module\r
+  #    *_*_*_BUILD_FLAGS = -c # for UNI files in the module\r
+  # }\r
+\r
+\r
+[Components.IA32,Components.X64]\r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib_Edk2.inf\r
+  \r
 [Components.IA32,Components.X64]\r
-  EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib.inf\r
+  EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib_Edk2.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiServicesTablePointerLibMm7/PeiServicesTablePointerLibMm7.inf\r
-  EdkCompatibilityPkg/Sample/Library/Dxe/WinNt/WinNtLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxePerformanceLib/DxePerformanceLib.inf # Use IA32/X64 specific AsmReadTsc (). \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiPerformanceLib/PeiPerformanceLib.inf # Use IA32/X64 specific AsmReadTsc ().\r
+  EdkCompatibilityPkg/Compatibility/AcpiVariableHobOnSmramReserveHobThunk/AcpiVariableHobOnSmramReserveHobThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/BootScriptThunkHelper/BootScriptThunkHelper.inf\r
+  EdkCompatibilityPkg/Compatibility/MpServicesOnFrameworkMpServicesThunk/MpServicesOnFrameworkMpServicesThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/SmmBaseOnSmmBase2Thunk/SmmBaseOnSmmBase2Thunk.inf\r
+  EdkCompatibilityPkg/Compatibility/SmmBaseHelper/SmmBaseHelper.inf\r
+  EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/SmmControl2OnSmmControlThunk/SmmControl2OnSmmControlThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/PiSmmStatusCodeOnFrameworkSmmStatusCodeThunk/PiSmmStatusCodeOnFrameworkSmmStatusCodeThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/FrameworkSmmStatusCodeOnPiSmmStatusCodeThunk/FrameworkSmmStatusCodeOnPiSmmStatusCodeThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/BootScriptSaveOnS3SaveStateThunk/BootScriptSaveOnS3SaveStateThunk.inf\r
+  EdkCompatibilityPkg/Compatibility/DxeSmmReadyToLockOnExitPmAuthThunk/DxeSmmReadyToLockOnExitPmAuthThunk.inf\r
 \r
-\r
-[Components.IPF]\r
+[Libraries]\r
+  #\r
+  # Libraries common to PEI and DXE\r
+  #\r
+  EdkCompatibilityPkg/Foundation/Efi/Guid/EfiGuidLib.inf\r
+  EdkCompatibilityPkg/Foundation/Framework/Guid/EdkFrameworkGuidLib.inf\r
+  EdkCompatibilityPkg/Foundation/Guid/EdkGuidLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib_Edk2.inf\r
+  EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib_Edk2.inf\r
   EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIa64Lib/CpuIA64Lib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/EdkDxeSalLib/EdkDxeSalLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiServicesTablePointerLibKr1/PeiServicesTablePointerLibKr1.inf\r
+  EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib_Edk2.inf\r
+  EdkCompatibilityPkg/Foundation/Library/CustomizedDecompress/CustomizedDecompress.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/Hob/HobLib.inf\r
+  #\r
+  # PEI libraries\r
+  #\r
+  EdkCompatibilityPkg/Foundation/Framework/Ppi/EdkFrameworkPpiLib.inf\r
+  EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib_Edk2.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Pei/Hob/PeiHobLib.inf\r
+  #\r
+  # DXE libraries\r
+  #\r
+  EdkCompatibilityPkg/Foundation/Core/Dxe/ArchProtocol/ArchProtocolLib.inf\r
+  EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf\r
+  EdkCompatibilityPkg/Foundation/Framework/Protocol/EdkFrameworkProtocolLib.inf\r
+  EdkCompatibilityPkg/Foundation/Protocol/EdkProtocolLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib_Edk2.inf\r
+  EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib_Edk2.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/Graphics/Graphics.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/EfiIfrSupportLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiEfiIfrSupportLib.inf   \r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/Print/PrintLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiScriptLib/EfiScriptLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.inf\r
+  #\r
+  # Print/Graphics Library consume SetupBrowser Print Protocol\r
+  #\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/PrintLite/PrintLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Dxe/GraphicsLite/Graphics.inf\r
+  #\r
+  # GlueLib\r
+  #\r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseLib/BaseLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseMemoryLib/BaseMemoryLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BasePrintLib/BasePrintLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseDebugLibNull/BaseDebugLibNull.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BasePostCodeLibPort80/BasePostCodeLibPort80.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BasePostCodeLibDebug/BasePostCodeLibDebug.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BasePciCf8Lib/BasePciCf8Lib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BasePciExpressLib/BasePciExpressLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BasePciLibCf8/BasePciLibCf8.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BasePeCoffLib/BasePeCoffLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseTimerLibLocalApic/BaseTimerLibLocalApic.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiServicesTablePointerLibMm7/PeiServicesTablePointerLibMm7.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiServicesLib/PeiServicesLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiHobLib/PeiHobLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiSmbusLib/PeiSmbusLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeIoLibCpuIo/DxeIoLibCpuIo.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiLib/UefiLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeHobLib/DxeHobLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/SmmRuntimeDxeReportStatusCodeLib/SmmRuntimeDxeReportStatusCodeLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/HiiLib/HiiLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiServicesTablePointerLibKr1/PeiServicesTablePointerLibKr1.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiDevicePathLib/UefiDevicePathLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiDriverModelLib/UefiDriverModelLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeServicesTableLib/DxeServicesTableLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/EdkDxeSalLib/EdkDxeSalLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/EdkDxeRuntimeDriverLib/EdkDxeRuntimeDriverLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeSmbusLib/DxeSmbusLib.inf \r
+\r
+  EdkCompatibilityPkg/Foundation/Library/Thunk16/Thunk16Lib_Edk2.inf\r
+\r
+[Libraries.IA32,Libraries.X64]\r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
+  EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib_Edk2.inf\r
+  \r
+[Libraries.IA32,Libraries.X64]\r
+  EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib_Edk2.inf\r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiServicesTablePointerLibMm7/PeiServicesTablePointerLibMm7.inf\r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxePerformanceLib/DxePerformanceLib.inf # Use IA32/X64 specific AsmReadTsc (). \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiPerformanceLib/PeiPerformanceLib.inf # Use IA32/X64 specific AsmReadTsc ().\r
 \r