]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmVirtPkg/ArmVirtQemu.dsc
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ArmVirtPkg / ArmVirtQemu.dsc
index 56eb53911d620ca9144707c8ae6bd3481667d979..72a0cacab4a8f4cc3c597d87f2866019da6f5b00 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
@@ -40,7 +41,7 @@
   DEFINE NETWORK_SNP_ENABLE              = FALSE\r
   DEFINE NETWORK_TLS_ENABLE              = FALSE\r
   DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS  = TRUE\r
-  DEFINE NETWORK_ISCSI_ENABLE            = TRUE\r
+  DEFINE NETWORK_ISCSI_ENABLE            = FALSE\r
 \r
 !if $(NETWORK_SNP_ENABLE) == TRUE\r
   !error "NETWORK_SNP_ENABLE is IA32/X64/EBC only"\r
   QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf\r
   QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf\r
 \r
-  ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.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
@@ -82,7 +81,6 @@
   PciHostBridgeLib|OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf\r
   PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf\r
   PeiHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/PeiHardwareInfoLib.inf\r
-  DxeHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/DxeHardwareInfoLib.inf\r
 \r
 !if $(TPM2_ENABLE) == TRUE\r
   Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf\r
   TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf\r
 !endif\r
 \r
+[LibraryClasses.AARCH64]\r
+  ArmPlatformLib|ArmVirtPkg/Library/ArmPlatformLibQemu/ArmPlatformLibQemu.inf\r
+\r
+[LibraryClasses.ARM]\r
+  ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf\r
+\r
 [LibraryClasses.common.PEIM]\r
   ArmVirtMemInfoLib|ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf\r
 \r
   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
 \r
 [BuildOptions]\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
 ################################################################################\r
   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|3\r
   gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x20000\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
-  gArmVirtTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gArmVirtVariableGuid|0x0|FALSE|NV,BS\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|FALSE|NV,BS\r
 \r
 !if $(TPM2_CONFIG_ENABLE) == TRUE\r
   gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS\r
   gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS\r
 !endif\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
+  ArmPlatformPkg/PlatformPei/PlatformPeim.inf\r
+  ArmVirtPkg/MemoryInitPei/MemoryInitPeim.inf {\r
     <LibraryClasses>\r
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+!if $(ARCH) == AARCH64\r
+      ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuPeiLib.inf\r
+!endif\r
   }\r
-  ArmPlatformPkg/PlatformPei/PlatformPeim.inf\r
-  ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf\r
   ArmPkg/Drivers/CpuPei/CpuPei.inf\r
 \r
-  MdeModulePkg/Universal/Variable/Pei/VariablePei.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
+    <LibraryClasses>\r
+      # don't use unaligned CopyMem () on the UEFI varstore NOR flash region\r
+      BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
+  }\r
   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
 \r
   #\r
   #\r
   # ACPI Support\r
   #\r
-  ArmVirtPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf\r
+  OvmfPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf\r
 [Components.AARCH64]\r
   MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf\r
   OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf {\r