[PATCH v2 1/2] MdeModulePkg: Fix OptionROM scanning

Marcello Sylvester Bauer <marcello.bauer@...>

From: Patrick Rudolph <patrick.rudolph@9elements.com>

The Option ROM scanner can't work as enumeration was done by the
first stage bootloader. Running it will disable the ability of the
PCIPlatform code to scan for ROMs.

Required for the following patch that enables custom Option ROM
scanning using gPciPlatformProtocol.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Signed-off-by: Marcello Sylvester Bauer <marcello.bauer@9elements.com>
Cc: Patrick Rudolph <patrick.rudolph@9elements.com>
Cc: Christian Walter <christian.walter@9elements.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c b/MdeMod=
index 6c68a97d4e46..7420f0079f7d 100644
--- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
+++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
@@ -2530,10 +2530,12 @@ PciEnumeratorLight (
RemoveRejectedPciDevices (RootBridgeDev->Handle, RootBridgeDev);=0D
- //=0D
- // Process option rom light=0D
- //=0D
- ProcessOptionRomLight (RootBridgeDev);=0D
+ if (!PcdGetBool (PcdPciDisableBusEnumeration)) {=0D
+ //=0D
+ // Process option rom light=0D
+ //=0D
+ ProcessOptionRomLight (RootBridgeDev);=0D
+ }=0D
// Determine attributes for all devices under this root bridge=0D

Join devel@edk2.groups.io to automatically receive all group messages.