hi Ray, > I guess it is because the PciIoDevice->AllOpRomProcessed is set which causes GetPciRom() is skipped. exactly. Therefore we need this for the gPciPlatformProtocol implementation to work. I will add this information as a code comment. > In your UefiPayloadPkg change, you have an assumption that the option ROM BAR still contain the correct base address. > Is it always true in real world? Do you think maybe the boot loader should supply a MMIO space range so UeifPayloadPkg > can use for option rom decoding? Every option ROM in coreboot does have it's own memory space and can not be provided as MMIO space range. Probably we could add some kind of validation to verify the validity of the base address. thanks, Marcello On Wed, Sep 16, 2020 at 10:28 AM Ni, Ray wrote: > Why running it will disable the ability of PciPlatform code to scan for > ROMs? > > I guess it is because the PciIoDevice->AllOpRomProcessed is set which > causes GetPciRom() is skipped. > > Can you explain more in the code comment? > > > -----Original Message----- > > From: devel@edk2.groups.io On Behalf Of Marcello > > Sylvester Bauer > > Sent: Tuesday, September 15, 2020 8:26 PM > > To: devel@edk2.groups.io > > Subject: [edk2-devel] [PATCH v2 0/2] Add support for scanning Option ROMs > > > > Fix Option ROM enumeration and support scanning. > > > > v2: > > * add correct Maintainer and Reviewer to Cc > > * PciPlatformDxe: > > - Update description > > - add function description > > > > Branch: https://github.com/9elements/edk2-1/tree/UefiPayloadPkg- > > Option_ROMs > > PR: https://github.com/tianocore/edk2/pull/926 > > > > Patrick Rudolph (2): > > MdeModulePkg: Fix OptionROM scanning > > UefiPayloadPkg: Scan for Option ROMs > > > > UefiPayloadPkg/UefiPayloadPkgIa32.dsc | 1 + > > UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc | 1 + > > UefiPayloadPkg/UefiPayloadPkg.fdf | 1 + > > UefiPayloadPkg/PciPlatformDxe/PciPlatformDxe.inf | 46 +++ > > UefiPayloadPkg/PciPlatformDxe/PciPlatformDxe.h | 19 + > > MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 10 +- > > UefiPayloadPkg/PciPlatformDxe/PciPlatformDxe.c | 426 > > ++++++++++++++++++++ > > 7 files changed, 500 insertions(+), 4 deletions(-) > > create mode 100644 UefiPayloadPkg/PciPlatformDxe/PciPlatformDxe.inf > > create mode 100644 UefiPayloadPkg/PciPlatformDxe/PciPlatformDxe.h > > create mode 100644 UefiPayloadPkg/PciPlatformDxe/PciPlatformDxe.c > > > > -- > > 2.28.0 > > > > > > > > -- *[Marcello Sylvester Bauer]* 9elements Agency GmbH, Kortumstraße 19-21, 44787 Bochum, Germany Email: [DEINE EMAIL ADDRESSE] Phone: *+49 234 68 94 188 <+492346894188>* Mobile: *+49 1722847618 <+491722847618>* Sitz der Gesellschaft: Bochum Handelsregister: Amtsgericht Bochum, HRB 17519 Geschäftsführung: Sebastian Deutsch, Eray Basar Datenschutzhinweise nach Art. 13 DSGVO