Ard,
can you explain more?

Your code changes the PciHostBridge driver to ignore the failure of IO 
allocation.
If IO requirement of certain PCI(E) devices can be ignored, can you change the 
IncompatiblePciDevice protocol implementation to override the IO request from 
the devices?

Thanks,
Ray

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ard Biesheuvel
> Sent: Tuesday, April 26, 2022 4:49 AM
> To: edk2-devel-groups-io <devel@edk2.groups.io>; Gerd Hoffmann 
> <kra...@redhat.com>
> Cc: Pawel Polawski <ppola...@redhat.com>; Ard Biesheuvel 
> <ardb+tianoc...@kernel.org>; Gao, Liming
> <gaolim...@byosoft.com.cn>; Wu, Hao A <hao.a...@intel.com>; Ni, Ray 
> <ray...@intel.com>; Oliver Steffen
> <ostef...@redhat.com>; Leif Lindholm <quic_llind...@quicinc.com>; Justen, 
> Jordan L <jordan.l.jus...@intel.com>; Yao,
> Jiewen <jiewen....@intel.com>; Chang, Abner <abner.ch...@hpe.com>; Wang, Jian 
> J <jian.j.w...@intel.com>
> Subject: Re: [edk2-devel] [PATCH v5 1/6] MdeModulePkg/PciHostBridge: io range 
> is not mandatory
> 
> On Fri, 22 Apr 2022 at 09:37, Gerd Hoffmann <kra...@redhat.com> wrote:
> >
> > io range is not mandatory according to pcie spec,
> > so allow bridge configurations without io address
> > space assigned.
> >
> > Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
> > Reviewed-by: Ard Biesheuvel <a...@kernel.org>
> 
> Could one of the MdeModulePkg maintainers please get this reviewed? Thanks.
> 
> > ---
> >  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridge.c | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridge.c
> b/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridge.c
> > index b20bcd310ad5..712662707931 100644
> > --- a/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridge.c
> > +++ b/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridge.c
> > @@ -1085,6 +1085,9 @@ NotifyPhase (
> >                RootBridge->ResAllocNode[Index].Base   = BaseAddress;
> >                RootBridge->ResAllocNode[Index].Status = ResAllocated;
> >                DEBUG ((DEBUG_INFO, "Success\n"));
> > +            } else if ((Index == TypeIo) && (RootBridge->Io.Base == 
> > MAX_UINT64)) {
> > +              /* optional on PCIe */
> > +              DEBUG ((DEBUG_INFO, "PCI Root Bridge does not provide IO 
> > Resources.\n"));
> >              } else {
> >                ReturnStatus = EFI_OUT_OF_RESOURCES;
> >                DEBUG ((DEBUG_ERROR, "Out Of Resource!\n"));
> > --
> > 2.35.1
> >
> >
> >
> >
> >
> >
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#89340): https://edk2.groups.io/g/devel/message/89340
Mute This Topic: https://groups.io/mt/90623478/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to