On Wed, Nov 04, 2026 at 10:59:47AM +0100, Ard Biesheuvel wrote:
> 
> 
> On Mon, 2 Nov 2026, at 19:12, Tushar Dave wrote:
> > Introduce a fixed BAR fw_cfg blob exporter that serializes PCI
> > device and BAR information into the "etc/fixed-bars" fw_cfg file.
> >
> > The blob contains an entry for every PCI function with memory BARs.
> > Each entry carries the device's vendor and device ID, whether it
> > has a fixed BAR configuration, and its firmware device path. Fixed
> > BAR entries also include the configured BAR address, size, and type
> > information for each BAR.
> >
> > Document the format in docs/specs/pci-fixed-bars.rst.
> >
> > Signed-off-by: Tushar Dave <[email protected]>
> > ---
> >  docs/specs/index.rst           |   1 +
> >  docs/specs/pci-fixed-bars.rst  |  75 ++++++++
> >  hw/pci/meson.build             |   1 +
> >  hw/pci/pci-fixed-bar-blob.c    | 308 +++++++++++++++++++++++++++++++++
> >  include/hw/pci/pci-fixed-bar.h |  63 +++++++
> >  5 files changed, 448 insertions(+)
> >  create mode 100644 docs/specs/pci-fixed-bars.rst
> >  create mode 100644 hw/pci/pci-fixed-bar-blob.c
> >  create mode 100644 include/hw/pci/pci-fixed-bar.h
> >
> ...
> > diff --git a/hw/pci/pci-fixed-bar-blob.c b/hw/pci/pci-fixed-bar-blob.c
> > new file mode 100644
> > index 0000000000..dc94debfad
> > --- /dev/null
> > +++ b/hw/pci/pci-fixed-bar-blob.c
> ...
> > +/*
> > + * EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL's CheckDevice interface
> > + * (UEFI PI Spec 1.2 Vol 5) only passes VendorId/DeviceId/RevisionId/
> > + * SubsystemVendorId/SubsystemDeviceId, no BDF — so in EDK2 we can't
> > + * match a blob entry to a specific device directly using BDF. To work
> > + * around that, we prepare the blob entries in the same order PciBusDxe
> > + * discovers devices, so matching by VID:DID inherently works.
> 
> This sounds rather fragile.
> 
> Could you elaborate on what order this is, and why it is reasonable to
> rely on that approach being stable?
> 
> 

Also, bus numbers can be changed by guest, and I don't get why
would you want to report devices without a fixed bar.


Reply via email to