From a618b9e1cd68b571c31e5ea8d2ff4317107f408b Mon Sep 17 00:00:00 2001 From: Andrea Bolognani Date: Thu, 25 Sep 2025 13:55:15 +0200 Subject: [PATCH] qemu: Use qemu-xhci with no fallback on loongarch64 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The architecture was introduced at a time when USB3 in general, and qemu-xhci in particular, had already been well established for years. Having USB1 controllers as a fallback was something that happened by mistake due to the way the pre-existing code was organized rather than because of a conscious decision. Make things work the way they should have in the first place. Signed-off-by: Andrea Bolognani Reviewed-by: Michal Privoznik Reviewed-by: Peter Krempa Reviewed-by: Ján Tomko --- src/qemu/qemu_domain.c | 8 +--- ...k-virt-loongarch64.loongarch64-latest.args | 35 ---------------- ...ck-virt-loongarch64.loongarch64-latest.xml | 40 ------------------- ...ller-default-fallback-virt-loongarch64.xml | 1 - tests/qemuxmlconftest.c | 5 --- 5 files changed, 1 insertion(+), 88 deletions(-) delete mode 100644 tests/qemuxmlconfdata/usb-controller-default-fallback-virt-loongarch64.loongarch64-latest.args delete mode 100644 tests/qemuxmlconfdata/usb-controller-default-fallback-virt-loongarch64.loongarch64-latest.xml delete mode 120000 tests/qemuxmlconfdata/usb-controller-default-fallback-virt-loongarch64.xml diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 370831fa48..39a54b8009 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4323,16 +4323,10 @@ qemuDomainDefaultUSBControllerModel(const virDomainDef *def, bool abiUpdate = !!(parseFlags & VIR_DOMAIN_DEF_PARSE_ABI_UPDATE); if (ARCH_IS_LOONGARCH(def->os.arch)) { - /* Prefer qemu-xhci (USB3) */ + /* Use qemu-xhci (USB3) with no fallback */ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_QEMU_XHCI)) return VIR_DOMAIN_CONTROLLER_MODEL_USB_QEMU_XHCI; - /* Allow piix3-uhci and pci-ohci (USB1) as fallback */ - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX3_USB_UHCI)) - return VIR_DOMAIN_CONTROLLER_MODEL_USB_PIIX3_UHCI; - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_PCI_OHCI)) - return VIR_DOMAIN_CONTROLLER_MODEL_USB_PCI_OHCI; - return VIR_DOMAIN_CONTROLLER_MODEL_USB_DEFAULT; } diff --git a/tests/qemuxmlconfdata/usb-controller-default-fallback-virt-loongarch64.loongarch64-latest.args b/tests/qemuxmlconfdata/usb-controller-default-fallback-virt-loongarch64.loongarch64-latest.args deleted file mode 100644 index 94e4e871b0..0000000000 --- a/tests/qemuxmlconfdata/usb-controller-default-fallback-virt-loongarch64.loongarch64-latest.args +++ /dev/null @@ -1,35 +0,0 @@ -LC_ALL=C \ -PATH=/bin \ -HOME=/var/lib/libvirt/qemu/domain--1-test \ -USER=test \ -LOGNAME=test \ -XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-test/.local/share \ -XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-test/.cache \ -XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \ -/usr/bin/qemu-system-loongarch64 \ --name guest=test,debug-threads=on \ --S \ --object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-test/master-key.aes"}' \ --machine virt,usb=off,dump-guest-core=off,memory-backend=loongarch.ram,acpi=off \ --accel tcg \ --cpu la464 \ --m size=2097152k \ --object '{"qom-type":"memory-backend-ram","id":"loongarch.ram","size":2147483648}' \ --overcommit mem-lock=off \ --smp 1,sockets=1,cores=1,threads=1 \ --uuid 11dbdcdd-4c3b-482b-8903-9bdb8c0a2774 \ --display none \ --no-user-config \ --nodefaults \ --chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ --mon chardev=charmonitor,id=monitor,mode=control \ --rtc base=utc \ --no-shutdown \ --boot strict=on \ --device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \ --device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \ --device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \ --device '{"driver":"pci-ohci","id":"usb","bus":"pci.2","addr":"0x1"}' \ --audiodev '{"id":"audio1","driver":"none"}' \ --sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ --msg timestamp=on diff --git a/tests/qemuxmlconfdata/usb-controller-default-fallback-virt-loongarch64.loongarch64-latest.xml b/tests/qemuxmlconfdata/usb-controller-default-fallback-virt-loongarch64.loongarch64-latest.xml deleted file mode 100644 index b7abdaa909..0000000000 --- a/tests/qemuxmlconfdata/usb-controller-default-fallback-virt-loongarch64.loongarch64-latest.xml +++ /dev/null @@ -1,40 +0,0 @@ - - test - 11dbdcdd-4c3b-482b-8903-9bdb8c0a2774 - 2097152 - 2097152 - 1 - - hvm - - - - la464 - - - destroy - restart - destroy - - /usr/bin/qemu-system-loongarch64 - -
- - - - - -
- - - -
- - - - -
- -