On Tue, Aug 19, 2025 at 18:22:31 +0200, Andrea Bolognani via Devel wrote: > Currently we fall back to the x86-derived default of piix3-uhci, > which is a USB1 controller that's not virtualization-friendly > and overall a terrible choice for a modern architecture. The > fact that we didn't choose a better default when RISC-V support > was introduced was an oversight which is now addressed. > > Signed-off-by: Andrea Bolognani <abolo...@redhat.com> > --- > src/qemu/qemu_domain.c | 3 ++- > ...ault-models.riscv64-latest.abi-update.args | 15 +++++------ > ...fault-models.riscv64-latest.abi-update.xml | 26 ++++++++----------- > ...64-virt-default-models.riscv64-latest.args | 15 +++++------ > ...v64-virt-default-models.riscv64-latest.xml | 26 ++++++++----------- > ...r-default-virt-riscv64.riscv64-latest.args | 5 ++-- > ...er-default-virt-riscv64.riscv64-latest.xml | 12 +++------ > tests/qemuxmlconftest.c | 2 +- > 8 files changed, 45 insertions(+), 59 deletions(-) > > diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c > index 3886b59026..d5ddc4ef43 100644 > --- a/src/qemu/qemu_domain.c > +++ b/src/qemu/qemu_domain.c > @@ -4321,7 +4321,8 @@ qemuDomainDefaultUSBControllerModel(const virDomainDef > *def, > { > bool abiUpdate = !!(parseFlags & VIR_DOMAIN_DEF_PARSE_ABI_UPDATE); > > - if (ARCH_IS_LOONGARCH(def->os.arch)) { > + if (ARCH_IS_LOONGARCH(def->os.arch) || > + qemuDomainIsRISCVVirt(def)) { > /* Use qemu-xhci (USB3) for modern architectures */ > if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_QEMU_XHCI)) > return VIR_DOMAIN_CONTROLLER_MODEL_USB_QEMU_XHCI;
As noted before this removes any fallback to the old controller; is that what you intended?