]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/ArmVirtualizationPkg/PciHostBridgeDxe/PciHostBridge.c
ArmVirtualizationPkg/PciHostBridgeDxe: add room for PCI resource allocation
[mirror_edk2.git] / ArmPlatformPkg / ArmVirtualizationPkg / PciHostBridgeDxe / PciHostBridge.c
index 50f61cbfff7c0f15392b1272469eaf0b96aba53f..452465afa8f34b5aa1012e9b94ac1099e8efe5ec 100644 (file)
@@ -122,6 +122,28 @@ InitializePciHostBridge (
                                      PcdGet64 (PcdPciIoSize) - 1;\r
   mResAperture[0][0].IoTranslation = PcdGet64 (PcdPciIoTranslation);\r
 \r
+  //\r
+  // Add IO and MMIO memory space, so that resources can be allocated in the\r
+  // EfiPciHostBridgeAllocateResources phase.\r
+  //\r
+  Status = gDS->AddIoSpace (\r
+                  EfiGcdIoTypeIo,\r
+                  PcdGet64 (PcdPciIoBase),\r
+                  PcdGet64 (PcdPciIoSize)\r
+                  );\r
+  ASSERT_EFI_ERROR (Status);\r
+\r
+  Status = gDS->AddMemorySpace (\r
+                  EfiGcdMemoryTypeMemoryMappedIo,\r
+                  PcdGet32 (PcdPciMmio32Base),\r
+                  PcdGet32 (PcdPciMmio32Size),\r
+                  EFI_MEMORY_UC\r
+                  );\r
+  if (EFI_ERROR (Status)) {\r
+    DEBUG ((EFI_D_ERROR, "%a: AddMemorySpace: %r\n", __FUNCTION__, Status));\r
+    return Status;\r
+  }\r
+\r
   //\r
   // Create Host Bridge Device Handle\r
   //\r