]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmVirtPkg/ArmVirtQemu.dsc
MdeModulePkg/XhciPei: Unlinked XhciPei memory block
[mirror_edk2.git] / ArmVirtPkg / ArmVirtQemu.dsc
index d9c43e294c6ec62f9a0ebb5f47701da36e873bf5..5dd8b6104ccaaeaeb509e23aed006f56090b99f7 100644 (file)
@@ -31,6 +31,7 @@
   DEFINE SECURE_BOOT_ENABLE      = FALSE\r
   DEFINE TPM2_ENABLE             = FALSE\r
   DEFINE TPM2_CONFIG_ENABLE      = FALSE\r
+  DEFINE CAVIUM_ERRATUM_27456    = FALSE\r
 \r
   #\r
   # Network definition\r
@@ -65,7 +66,7 @@
   QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf\r
 \r
   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf\r
-  NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf\r
+  VirtNorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf\r
 \r
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
   BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf\r
   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
 \r
 [BuildOptions]\r
-  GCC:*_*_AARCH64_CC_XIPFLAGS = -mno-strict-align\r
+!if $(CAVIUM_ERRATUM_27456) == TRUE\r
+  GCC:*_*_AARCH64_PP_FLAGS = -DCAVIUM_ERRATUM_27456\r
+!else\r
+  GCC:*_*_AARCH64_CC_XIPFLAGS ==\r
+!endif\r
 \r
 !include NetworkPkg/NetworkBuildOptions.dsc.inc\r
 \r
   # Shadowing PEI modules is absolutely pointless when the NOR flash is emulated\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot|FALSE\r
 \r
+  # System Memory Size -- 128 MB initially, actual size will be fetched from DT\r
+  gArmTokenSpaceGuid.PcdSystemMemorySize|0x8000000\r
+\r
 [PcdsFixedAtBuild.AARCH64]\r
   # Clearing BIT0 in this PCD prevents installing a 32-bit SMBIOS entry point,\r
   # if the entry point version is >= 3.0. AARCH64 OSes cannot assume the\r
   #  enumeration to complete before installing ACPI tables.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE\r
 \r
-  # System Memory Size -- 1 MB initially, actual size will be fetched from DT\r
-  gArmTokenSpaceGuid.PcdSystemMemorySize|0x00100000\r
-\r
   gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|0x0\r
   gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|0x0\r
   gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum|0x0\r
   #\r
   # TPM2 support\r
   #\r
-  gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0\r
 !if $(TPM2_ENABLE) == TRUE\r
+  gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0\r
   gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\r
   gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|0\r
+!else\r
+[PcdsPatchableInModule]\r
+  # make this PCD patchable instead of dynamic when TPM support is not enabled\r
+  # this permits setting the PCD in unreachable code without pulling in dynamic PCD support\r
+  gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0\r
 !endif\r
 \r
 [PcdsDynamicHii]\r
 \r
   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5\r
 \r
+[LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]\r
+!if $(TPM2_ENABLE) == TRUE\r
+  PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
+!else\r
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+!endif\r
+\r
 ################################################################################\r
 #\r
 # Components Section - list of all EDK II Modules needed by this Platform\r
   #\r
   ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf\r
   MdeModulePkg/Core/Pei/PeiMain.inf\r
-  MdeModulePkg/Universal/PCD/Pei/Pcd.inf {\r
-    <LibraryClasses>\r
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
-  }\r
   ArmPlatformPkg/PlatformPei/PlatformPeim.inf\r
   ArmVirtPkg/MemoryInitPei/MemoryInitPeim.inf {\r
     <LibraryClasses>\r
   ArmPkg/Drivers/CpuPei/CpuPei.inf\r
 \r
 !if $(TPM2_ENABLE) == TRUE\r
+  MdeModulePkg/Universal/PCD/Pei/Pcd.inf {\r
+    <LibraryClasses>\r
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+  }\r
   MdeModulePkg/Universal/ResetSystemPei/ResetSystemPei.inf {\r
     <LibraryClasses>\r
       ResetSystemLib|ArmVirtPkg/Library/ArmVirtPsciResetSystemPeiLib/ArmVirtPsciResetSystemPeiLib.inf\r
     <LibraryClasses>\r
       NULL|ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf\r
   }\r
-  ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
+  OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf\r
   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
 \r
   #\r