The microvm machine type doesn't support PCI, so adding PCI controllers to it doesn't make sense, and nor does adding a USB controller or a memballon since both are PCI devices.
Signed-off-by: Andrea Bolognani <abolo...@redhat.com> --- src/qemu/qemu_postparse.c | 3 ++- .../microvm-pci.x86_64-latest.args | 2 -- .../microvm-pci.x86_64-latest.xml | 6 ----- ...ller-automatic-microvm.x86_64-latest.args} | 20 ++++++++-------- ...roller-automatic-microvm.x86_64-latest.err | 1 - ...roller-automatic-microvm.x86_64-latest.xml | 23 +++++++++++++++++++ tests/qemuxmlconftest.c | 2 +- 7 files changed, 35 insertions(+), 22 deletions(-) copy tests/qemuxmlconfdata/{microvm-pci.x86_64-latest.args => usb-controller-automatic-microvm.x86_64-latest.args} (56%) delete mode 100644 tests/qemuxmlconfdata/usb-controller-automatic-microvm.x86_64-latest.err create mode 100644 tests/qemuxmlconfdata/usb-controller-automatic-microvm.x86_64-latest.xml diff --git a/src/qemu/qemu_postparse.c b/src/qemu/qemu_postparse.c index ab39dfe138..d5708fbff9 100644 --- a/src/qemu/qemu_postparse.c +++ b/src/qemu/qemu_postparse.c @@ -1252,7 +1252,8 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver, switch (def->os.arch) { case VIR_ARCH_I686: case VIR_ARCH_X86_64: - if (STREQ(def->os.machine, "isapc")) { + if (STREQ(def->os.machine, "isapc") || + STREQ(def->os.machine, "microvm")) { break; } diff --git a/tests/qemuxmlconfdata/microvm-pci.x86_64-latest.args b/tests/qemuxmlconfdata/microvm-pci.x86_64-latest.args index 33bbaacd7c..06598ddcbc 100644 --- a/tests/qemuxmlconfdata/microvm-pci.x86_64-latest.args +++ b/tests/qemuxmlconfdata/microvm-pci.x86_64-latest.args @@ -26,8 +26,6 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \ -rtc base=utc \ -no-shutdown \ -boot strict=on \ --device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ --device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x2"}' \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ -msg timestamp=on diff --git a/tests/qemuxmlconfdata/microvm-pci.x86_64-latest.xml b/tests/qemuxmlconfdata/microvm-pci.x86_64-latest.xml index 1cac541367..06b5a8b789 100644 --- a/tests/qemuxmlconfdata/microvm-pci.x86_64-latest.xml +++ b/tests/qemuxmlconfdata/microvm-pci.x86_64-latest.xml @@ -18,12 +18,6 @@ <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <controller type='pci' index='0' model='pci-root'/> - <controller type='usb' index='0' model='piix3-uhci'> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> - </controller> <audio id='1' type='none'/> - <memballoon model='virtio'> - <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> - </memballoon> </devices> </domain> diff --git a/tests/qemuxmlconfdata/microvm-pci.x86_64-latest.args b/tests/qemuxmlconfdata/usb-controller-automatic-microvm.x86_64-latest.args similarity index 56% copy from tests/qemuxmlconfdata/microvm-pci.x86_64-latest.args copy to tests/qemuxmlconfdata/usb-controller-automatic-microvm.x86_64-latest.args index 33bbaacd7c..4aaf685a38 100644 --- a/tests/qemuxmlconfdata/microvm-pci.x86_64-latest.args +++ b/tests/qemuxmlconfdata/usb-controller-automatic-microvm.x86_64-latest.args @@ -1,23 +1,23 @@ LC_ALL=C \ PATH=/bin \ -HOME=/var/lib/libvirt/qemu/domain--1-test \ +HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1 \ 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 \ +XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ /usr/bin/qemu-system-x86_64 \ --name guest=test,debug-threads=on \ +-name guest=QEMUGuest1,debug-threads=on \ -S \ --object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-test/master-key.aes"}' \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine microvm,usb=off,dump-guest-core=off,memory-backend=microvm.ram,acpi=off \ -accel tcg \ -cpu qemu64 \ --m size=2097152k \ --object '{"qom-type":"memory-backend-ram","id":"microvm.ram","size":2147483648}' \ +-m size=219136k \ +-object '{"qom-type":"memory-backend-ram","id":"microvm.ram","size":224395264}' \ -overcommit mem-lock=off \ -smp 1,sockets=1,cores=1,threads=1 \ --uuid 11dbdcdd-4c3b-482b-8903-9bdb8c0a2774 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ -display none \ -no-user-config \ -nodefaults \ @@ -26,8 +26,6 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \ -rtc base=utc \ -no-shutdown \ -boot strict=on \ --device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ --device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x2"}' \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ -msg timestamp=on diff --git a/tests/qemuxmlconfdata/usb-controller-automatic-microvm.x86_64-latest.err b/tests/qemuxmlconfdata/usb-controller-automatic-microvm.x86_64-latest.err deleted file mode 100644 index a0ca4fba5d..0000000000 --- a/tests/qemuxmlconfdata/usb-controller-automatic-microvm.x86_64-latest.err +++ /dev/null @@ -1 +0,0 @@ -XML error: No PCI buses available diff --git a/tests/qemuxmlconfdata/usb-controller-automatic-microvm.x86_64-latest.xml b/tests/qemuxmlconfdata/usb-controller-automatic-microvm.x86_64-latest.xml new file mode 100644 index 0000000000..09f26bb422 --- /dev/null +++ b/tests/qemuxmlconfdata/usb-controller-automatic-microvm.x86_64-latest.xml @@ -0,0 +1,23 @@ +<domain type='qemu'> + <name>QEMUGuest1</name> + <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> + <memory unit='KiB'>219136</memory> + <currentMemory unit='KiB'>219136</currentMemory> + <vcpu placement='static'>1</vcpu> + <os> + <type arch='x86_64' machine='microvm'>hvm</type> + <boot dev='hd'/> + </os> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <audio id='1' type='none'/> + <memballoon model='none'/> + </devices> +</domain> diff --git a/tests/qemuxmlconftest.c b/tests/qemuxmlconftest.c index 20831351d7..b266fbc1db 100644 --- a/tests/qemuxmlconftest.c +++ b/tests/qemuxmlconftest.c @@ -2061,7 +2061,7 @@ mymain(void) DO_TEST_CAPS_LATEST_PARSE_ERROR("chardev-reconnect-generated-path"); DO_TEST_CAPS_LATEST("usb-controller-automatic-isapc"); - DO_TEST_CAPS_LATEST_PARSE_ERROR("usb-controller-automatic-microvm"); + DO_TEST_CAPS_LATEST("usb-controller-automatic-microvm"); DO_TEST_CAPS_LATEST("usb-controller-automatic-i440fx"); DO_TEST_CAPS_LATEST("usb-controller-automatic-q35"); DO_TEST_CAPS_ARCH_LATEST("usb-controller-automatic-pseries", "ppc64"); -- 2.51.0