]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmVirtPkg/ArmVirtQemu.dsc
ArmVirtPkg/ArmVirtQemu: limit ACPI support to v5.0 and higher
[mirror_edk2.git] / ArmVirtPkg / ArmVirtQemu.dsc
index 995be89ef4cd3b4a5b598fc2f8ba2e296c411fc2..f873883c4a3981b647567f48955d6dea00d84c1f 100644 (file)
 [PcdsFixedAtBuild.AARCH64]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE\r
 \r
+  # KVM limits it IPA space to 40 bits (1 TB), so there is no need to\r
+  # support anything bigger, even if the host hardware does\r
+  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40\r
+\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
+  # presence of the 32-bit entry point anyway (because many AARCH64 systems\r
+  # don't have 32-bit addressable physical RAM), and the additional allocations\r
+  # below 4 GB needlessly fragment the memory map. So expose the 64-bit entry\r
+  # point only, for entry point versions >= 3.0.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2\r
+\r
+  # ACPI predates the AARCH64 architecture by 5 versions, so\r
+  # we only target OSes that support ACPI v5.0 or later\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x20\r
+\r
 [PcdsDynamicDefault.common]\r
   ## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI\r
   #  enumeration to complete before installing ACPI tables.\r
   #\r
   # PEI Phase modules\r
   #\r
-  ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf {\r
-    <LibraryClasses>\r
-      ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\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
   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
-  EmbeddedPkg/SerialDxe/SerialDxe.inf\r
+  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf\r
 \r
   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
 \r
   # Platform Driver\r
   #\r
   ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf\r
+  ArmVirtPkg/HighMemDxe/HighMemDxe.inf\r
   OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
   OvmfPkg/VirtioScsiDxe/VirtioScsi.inf\r
   OvmfPkg/VirtioNetDxe/VirtioNet.inf\r
   }\r
   OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf\r
 \r
-  #\r
-  # ACPI Support\r
-  #\r
-  MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
-  OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf\r
-\r
   #\r
   # PCI support\r
   #\r
   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
 \r
+[Components.AARCH64]\r
+  #\r
+  # ACPI Support\r
+  #\r
+  MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
+  OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf\r
+\r
 [Components.ARM]\r
   #\r
   # The ARM/Linux kernel has no built in EFI boot stub (yet), so we still need\r