On Tue, Feb 03, 2026 at 03:48:52PM +0100, Jan Beulich wrote: > On 02.02.2026 16:18, Roger Pau Monné wrote: > > My copy of the PCI Firmware Spec v3.3 contains: > > > > "4.1.2. MCFG Table Description > > > > The MCFG table is an ACPI table that is used to communicate the base > > addresses corresponding to the non-hot removable PCI Segment Groups > > range within a PCI Segment Group available to the operating system at > > boot. > > > > [...] > > > > 4.1.3. The _CBA Method > > > > Some systems may support hot plug of host bridges that introduce > > either a range of buses within an existing PCI Segment Group or > > introduce a new PCI Segment Group. For example, each I/O chip in a > > multi-chip PCI Express root complex implementation could start a new > > PCI Segment Group." > > > > Together with this: > > > > "The MCFG table format allows for more than one memory mapped base > > address entry provided each entry (memory mapped configuration space > > base address allocation structure) corresponds to a unique PCI Segment > > Group consisting of 256 PCI buses. Multiple entries corresponding to a > > single PCI Segment Group is not allowed." > > > > Given that each segment group can only appear once in the MCFG, and > > that the _CBA method can introduce new segment groups, it would seem > > to me the spec does allow for new segments appearing exclusively as > > the return of _CBA method? It does read as if hot-removable segment > > groups must not appear in the MCFG table. I'm not finding any clear > > statement in the spec that says that ECAM areas must previously appear > > in the MCFG table. > > > > I'm not sure how common that is, but it doesn't seem impossible given > > my reading of the spec. > > Hmm, that'll be a bit of work then, as Dom0 will also need to propagate > the necessary data into Xen.
TBH this is what the spec says, but I've never encountered such a system. In fact I've never tested hotplug of a PCI host bridge. Not sure this can be simulated with QEMU so that we could at least test whatever fixes we plan to do in that area? I guess we could "fake" a bodge where Xen ignores the MCFG completely and only becomes aware of the ECAM areas from what the hardware domain reports back. Thanks, Roger.
