]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/OvmfPkgIa32.dsc
OvmfPkg: PlatformPei: enable PCIEXBAR (aka MMCONFIG / ECAM) on Q35
[mirror_edk2.git] / OvmfPkg / OvmfPkgIa32.dsc
index 3a6c127d598f3ab9d7c7c5e90da2e4fcbf1e858f..aae1972950ee5f2cd1e1f43ab3b3d6b3c6679932 100644 (file)
@@ -37,6 +37,7 @@
   DEFINE NETWORK_IP6_ENABLE      = FALSE\r
   DEFINE HTTP_BOOT_ENABLE        = FALSE\r
   DEFINE SMM_REQUIRE             = FALSE\r
+  DEFINE USE_OLD_PCI_HOST        = FALSE\r
 \r
 [BuildOptions]\r
   GCC:*_UNIXGCC_*_CC_FLAGS             = -DMDEPKG_NDEBUG\r
@@ -82,6 +83,7 @@
   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
   PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
   PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
+  PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf\r
   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
   SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf\r
   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
 !endif\r
 \r
+  # This PCD is used to set the base address of the PCI express hierarchy. It\r
+  # is only consulted when OVMF runs on Q35. In that case it is programmed into\r
+  # the PCIEXBAR register.\r
+  #\r
+  # On Q35 machine types that QEMU intends to support in the long term, QEMU\r
+  # never lets the RAM below 4 GB exceed 2 GB.\r
+  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x80000000\r
+\r
 !ifdef $(SOURCE_DEBUG_ENABLE)\r
   gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2\r
 !endif\r
   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
   UefiCpuPkg/CpuDxe/CpuDxe.inf\r
   PcAtChipsetPkg/8254TimerDxe/8254Timer.inf\r
+!if $(USE_OLD_PCI_HOST) == TRUE\r
   OvmfPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
+!else\r
+  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {\r
+    <LibraryClasses>\r
+      PciHostBridgeLib|OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf\r
+  }\r
+!endif\r
   MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {\r
     <LibraryClasses>\r
       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
       NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf\r
       NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
       NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
+!if $(NETWORK_IP6_ENABLE) == TRUE\r
+      NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf\r
+!endif\r
       NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf\r
       HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
       ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r