]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiPayloadPkg/UefiPayloadPkg.dsc
UefiPayloadPkg: Add Fixed PCDs and use Macro to define the default value.
[mirror_edk2.git] / UefiPayloadPkg / UefiPayloadPkg.dsc
index e9211adf86e582807773dca436384836e4955951..ba54f2057f62fef5ff42b736aca402d4fcbcc9f8 100644 (file)
   SKUID_IDENTIFIER                    = DEFAULT\r
   OUTPUT_DIRECTORY                    = Build/UefiPayloadPkgX64\r
   FLASH_DEFINITION                    = UefiPayloadPkg/UefiPayloadPkg.fdf\r
+  PCD_DYNAMIC_AS_DYNAMICEX            = TRUE\r
 \r
   DEFINE SOURCE_DEBUG_ENABLE          = FALSE\r
   DEFINE PS2_KEYBOARD_ENABLE          = FALSE\r
+  DEFINE UNIVERSAL_PAYLOAD            = FALSE\r
 \r
   #\r
   # SBL:      UEFI payload for Slim Bootloader\r
   #\r
   DEFINE SHELL_TYPE                   = BUILD_SHELL\r
 \r
+  DEFINE EMU_VARIABLE_ENABLE   = TRUE\r
+  DEFINE DISABLE_RESET_SYSTEM  = FALSE\r
+\r
+  # Dfine the maximum size of the capsule image without a reset flag that the platform can support.\r
+  DEFINE MAX_SIZE_NON_POPULATE_CAPSULE = 0xa00000\r
+\r
+  # Define RTC related register.\r
+  DEFINE RTC_INDEX_REGISTER = 0x70\r
+  DEFINE RTC_TARGET_REGISTER = 0x71\r
+\r
 [BuildOptions]\r
   *_*_*_CC_FLAGS                 = -D DISABLE_NEW_DEPRECATED_INTERFACES\r
   GCC:*_UNIXGCC_*_CC_FLAGS       = -DMDEPKG_NDEBUG\r
   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
   CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
   SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf\r
+  DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLib/DxeHobListLib.inf\r
+\r
+!if $(UNIVERSAL_PAYLOAD) == TRUE\r
+  HobLib|UefiPayloadPkg/Library/DxeHobLib/DxeHobLib.inf\r
+!else\r
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
+!endif\r
 \r
   #\r
   # UEFI & PI\r
   TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf\r
   ResetSystemLib|UefiPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf\r
   SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf\r
+!if $(UNIVERSAL_PAYLOAD) == TRUE\r
+  PlatformHookLib|UefiPayloadPkg/Library/UniversalPayloadPlatformHookLib/PlatformHookLib.inf\r
+!else\r
   PlatformHookLib|UefiPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf\r
+!endif\r
   PlatformBootManagerLib|UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf\r
   IoApicLib|PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf\r
 \r
   DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
 !endif\r
   PlatformSupportLib|UefiPayloadPkg/Library/PlatformSupportLibNull/PlatformSupportLibNull.inf\r
-!if $(BOOTLOADER) == "COREBOOT"\r
-  BlParseLib|UefiPayloadPkg/Library/CbParseLib/CbParseLib.inf\r
-!else\r
-  BlParseLib|UefiPayloadPkg/Library/SblParseLib/SblParseLib.inf\r
+!if $(UNIVERSAL_PAYLOAD) == FALSE\r
+  !if $(BOOTLOADER) == "COREBOOT"\r
+    BlParseLib|UefiPayloadPkg/Library/CbParseLib/CbParseLib.inf\r
+  !else\r
+    BlParseLib|UefiPayloadPkg/Library/SblParseLib/SblParseLib.inf\r
+  !endif\r
 !endif\r
 \r
   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
   VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf\r
 \r
 [LibraryClasses.common.SEC]\r
-  HobLib|UefiPayloadPkg/Library/HobLib/HobLib.inf\r
+  HobLib|UefiPayloadPkg/Library/PayloadEntryHobLib/HobLib.inf\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+  DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLibNull/DxeHobListLibNull.inf\r
 \r
 [LibraryClasses.common.DXE_CORE]\r
+  DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLibNull/DxeHobListLibNull.inf\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
 \r
 [LibraryClasses.common.DXE_DRIVER]\r
   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
 \r
 [LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
   ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf\r
   VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf\r
   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
 \r
 ################################################################################\r
 #\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE\r
+  ## This PCD specified whether ACPI SDT protocol is installed.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE\r
 \r
 [PcdsFixedAtBuild]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x10000\r
 !endif\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }\r
 \r
+  gUefiPayloadPkgTokenSpaceGuid.PcdPcdDriverFile|{ 0x57, 0x72, 0xcf, 0x80, 0xab, 0x87, 0xf9, 0x47, 0xa3, 0xfe, 0xD5, 0x0B, 0x76, 0xd8, 0x95, 0x41 }\r
 \r
 !if $(SOURCE_DEBUG_ENABLE)\r
   gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2\r
 !endif\r
 \r
 [PcdsPatchableInModule.common]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }\r
   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7\r
   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F\r
 !if $(SOURCE_DEBUG_ENABLE)\r
 !else\r
   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
 !endif\r
-\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|$(MAX_SIZE_NON_POPULATE_CAPSULE)\r
+  gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister|$(RTC_INDEX_REGISTER)\r
+  gPcAtChipsetPkgTokenSpaceGuid.PcdRtcTargetRegister|$(RTC_TARGET_REGISTER)\r
   #\r
   # The following parameters are set by Library/PlatformHookLib\r
   #\r
 \r
 ################################################################################\r
 #\r
-# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform\r
+# Pcd DynamicEx Section - list of all EDK II PCD Entries defined by this Platform\r
 #\r
 ################################################################################\r
 \r
-[PcdsDynamicDefault]\r
+[PcdsDynamicExDefault]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|100\r
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0\r
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseSize|0\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase|0\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed|FALSE\r
+  gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled|0\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE\r
 \r
 ################################################################################\r
 \r
 !if "IA32" in $(ARCH)\r
   [Components.IA32]\r
+  !if $(UNIVERSAL_PAYLOAD) == TRUE\r
+    UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf\r
+  !else\r
     UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf\r
+  !endif\r
 !else\r
   [Components.X64]\r
+  !if $(UNIVERSAL_PAYLOAD) == TRUE\r
+    UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf\r
+  !else\r
     UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf\r
+  !endif\r
 !endif\r
 \r
 [Components.X64]\r
   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
+!if $(DISABLE_RESET_SYSTEM) == FALSE\r
   MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf\r
+!endif\r
   PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
+!if $(EMU_VARIABLE_ENABLE) == TRUE\r
   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
-\r
+!endif\r
   #\r
   # Following are the DXE drivers\r
   #\r