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?

Reply via email to