Re: [PATCH v2] hw/sparc64/sun4u: Mark unusable PCI busses as full to ease device plugging
Thomas Huth <[email protected]> Thu, 30 Apr 2026 11:50:21 +0200
| Newsgroups | org.nongnu.qemu-trivial,org.nongnu.qemu-devel |
|---|---|
| Message-ID | <[email protected]> |
On 09/03/2026 19.14, Thomas Huth wrote: > From: Thomas Huth <[email protected]> > > When trying to plug a PCI device to a Sparc64 machine, you currently > have to specify the right bus ("bus=pciB"), otherwise you get this error: > > $ qemu-system-sparc64 -device virtio-scsi-pci > qemu-system-sparc64: -device virtio-scsi-pci: PCI: no slot/function > available for virtio-scsi-pci, all in use or reserved > > This is quite annoying for the unexperienced users, and it also breaks > e.g. the iotests ("make check-block") when running with qemu-system-sparc64. > > Mark the non-usable PCI busses as full now, so that QEMU can automatically > plug new PCI devices to the right "pciB" bus. > > Signed-off-by: Thomas Huth <[email protected]> > --- > v2: Do the change in the machine code, not in the sabre device > > hw/sparc64/sun4u.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c > index b8bda1eb816..37539535c6c 100644 > --- a/hw/sparc64/sun4u.c > +++ b/hw/sparc64/sun4u.c > @@ -723,6 +723,13 @@ static void sun4uv_init(MemoryRegion *address_space_mem, > fw_cfg_add_i16(fw_cfg, FW_CFG_SPARC64_DEPTH, graphic_depth); > > qemu_register_boot_set(fw_cfg_boot_set, fw_cfg); > + > + /* > + * Mark internal PCI busses as full so that the plugging of additional > + * PCI devices happens on the right bus that still has free slots: > + */ > + qbus_mark_full(&pci_bus->qbus); > + qbus_mark_full(&pci_busA->qbus); > } > > enum { Friendly ping! Thomas