]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c
OvmfPkg: PciHostBridgeLib: set bus, IO and 32-bit MMIO windows in RootBus
[mirror_edk2.git] / OvmfPkg / Library / PciHostBridgeLib / PciHostBridgeLib.c
index f1cefe416996867c2397e870e3ab8ff6640a1959..b23939d166c11ff76b140bca5f44ea4f82c399f4 100644 (file)
@@ -17,6 +17,7 @@
 \r
 #include <IndustryStandard/Pci.h>\r
 \r
+#include <Protocol/PciHostBridgeResourceAllocation.h>\r
 #include <Protocol/PciRootBridgeIo.h>\r
 \r
 #include <Library/BaseMemoryLib.h>\r
@@ -84,6 +85,22 @@ InitRootBridge (
 \r
   RootBus->DmaAbove4G = FALSE;\r
 \r
+  RootBus->AllocationAttributes = EFI_PCI_HOST_BRIDGE_COMBINE_MEM_PMEM;\r
+  RootBus->PMem.Base            = 0;\r
+  RootBus->PMem.Limit           = 0;\r
+  RootBus->PMemAbove4G.Base     = 0;\r
+  RootBus->PMemAbove4G.Limit    = 0;\r
+  RootBus->MemAbove4G.Base      = 0;\r
+  RootBus->MemAbove4G.Limit     = 0;\r
+\r
+  RootBus->Bus.Base  = RootBusNumber;\r
+  RootBus->Bus.Limit = MaxSubBusNumber;\r
+  RootBus->Io.Base   = PcdGet64 (PcdPciIoBase);\r
+  RootBus->Io.Limit  = PcdGet64 (PcdPciIoBase) + (PcdGet64 (PcdPciIoSize) - 1);\r
+  RootBus->Mem.Base  = PcdGet64 (PcdPciMmio32Base);\r
+  RootBus->Mem.Limit = PcdGet64 (PcdPciMmio32Base) +\r
+                       (PcdGet64 (PcdPciMmio32Size) - 1);\r
+\r
   return EFI_OUT_OF_RESOURCES;\r
 }\r
 \r