[SeaBIOS] hotplug failure issue on pci-bridge

Liu, Jing2 jing2.liu at linux.intel.com
Mon Jul 16 11:45:43 CEST 2018

Hi Laszlo,

On 7/12/2018 3:29 PM, Laszlo Ersek wrote:
> On 07/12/18 07:43, Liu, Jing2 wrote:
>> Yep, thanks for the advice.
>> But hotplugging on pci-bridge is the actual use case
>> request so we would better solve and fix this.
> You can cold-plug a PCI Express Root Port in the Q35 root complex
> (pcie.0), reserving the MMIO resources you want, cold-plug a PCIE-PCI
> Bridge in that root port, and then hot-plug the desired endpoint into
> that PCIE-PCI Bridge. 

I'm trying this. But actual results show that,
when pcie-pci-bridge has no coldplug device, it shows all NONE for each 
01:00.0 PCI bridge: Red Hat, Inc. Device 000e (prog-if 00 [Normal decode])
         I/O behind bridge: None
         Memory behind bridge: None
         Prefetchable memory behind bridge: None
Only if I cold plug some device (e.g. e1000) under it, and then hotplug
another device might be successful.

BTW, I open the guest kernel config: CONFIG_PCI_REALLOC_ENABLE_AUTO=y,
but it doesn't work.
I'm not sure if there are some other issues I forgot?


This is one of the exact examples that
> "docs/pcie_pci_bridge.txt" provides. (The other example is when the
> PCIE-PCI bridge itself is hot-plugged into the root port, for which bus
> number reservation is necessary too, at the root port level.)
> If you want more than that, e.g. do something similar on i440fx, that
> will take QEMU work as well, not just SeaBIOS.
> Laszlo

More information about the SeaBIOS mailing list