Re: [PATCH v2] hw/sparc64/sun4u: Mark unusable PCI busses as full to ease device plugging
Thomas Huth <[email protected]> Mon, 29 Jun 2026 15:43:00 +0200
| Newsgroups | org.nongnu.qemu-trivial,org.nongnu.qemu-devel |
|---|---|
| Message-ID | <[email protected]> |
On 09/06/2026 08.02, Thomas Huth wrote: > On 08/06/2026 23.29, Mark Cave-Ayland wrote: >> On 08/06/2026 09:26, Michael Tokarev wrote: >> >>> On 30.04.2026 12:50, Thomas Huth wrote: >>>> 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! >>> >>> This, being a simple change, somehow has not been reviewed still, so >>> it's sitting in the queue... >> >> Yes, apologies - I've been absolutely flat out recently, and I've got a >> note to take a look at this and Peter's patch as soon as I can. >> >> Is this fixing an urgent issue with "make check-block" or similar? > > It's not urgent since this has been broken forever, but yes, it fixes "make > check-block" for the case where sparc64 is the only available target during > "configure --target-list=sparc64-softmmu" and thus the iotests run with > qemu-system-sparc64. Ping! While it's not urgent, soft-freeze date is in a week, so it would be nice to get this merged before it misses another release ... WDYT? Thanks, Thomas