File ArmVirtPkg-Enable-PCI-bus-probing-again.patch of Package ovmf.6358

From 58606e6ae4dfb88d0e2b8424a449c5efc4e45bab Mon Sep 17 00:00:00 2001
From: Alexander Graf <>
Date: Thu, 21 Apr 2016 13:17:39 +0200
Subject: [PATCH] ArmVirtPkg: Enable PCI bus probing again

Commit cd2178bb (ArmVirtPkg/PciHostBridgeDxe: move to FDT client protocol)
changed the default for the PCI bus to no-probe. This is problematic in
many ways:

  * edk2 only supports mmio32, if you have a bar that doesn't fit in (like
    ivshmem) it won't get mapped
  * you lose any hotplug functionality
  * ovmf only maps regions it cares about, breaking xhci for example

While we happer out upstream what the best path forward is, this patch reverts
us back to the old behavior of dynamically allocating PCI BARs in Linux.

Beware that this may break efifb support as Linux might now remap the EFI GOP
BAR that gets used for the efifb frame buffer.

Signed-off-by: Alexander Graf <>
 ArmVirtPkg/PciHostBridgeDxe/PciHostBridge.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ArmVirtPkg/PciHostBridgeDxe/PciHostBridge.c b/ArmVirtPkg/PciHostBridgeDxe/PciHostBridge.c
index 4b2b6a5..e471fe0 100644
--- a/ArmVirtPkg/PciHostBridgeDxe/PciHostBridge.c
+++ b/ArmVirtPkg/PciHostBridgeDxe/PciHostBridge.c
@@ -89,7 +89,7 @@ SetLinuxPciProbeOnlyProperty (
   UINT32        Tmp;
   EFI_STATUS    Status;
-  if (!FeaturePcdGet (PcdPureAcpiBoot)) {
+  if (0 && !FeaturePcdGet (PcdPureAcpiBoot)) {
     // Set the /chosen/linux,pci-probe-only property to 1, so that the PCI
     // setup we will perform in the firmware is honored by the Linux OS,
openSUSE Build Service is sponsored by