Further patches will try to remove QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY,
so add few more modern tests before doing that.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
...h64-virtio-pci-default.aarch64-latest.args | 55 +++++++++++++++
...ev-scsi-vhost-scsi-pcie.x86_64-latest.args | 35 ++++++++++
...35-default-devices-only.x86_64-latest.args | 37 ++++++++++
.../q35-multifunction.x86_64-latest.args | 52 ++++++++++++++
.../q35-pcie-autoadd.x86_64-latest.args | 66 ++++++++++++++++++
.../q35-pcie.x86_64-latest.args | 67 +++++++++++++++++++
.../q35-virt-manager-basic.x86_64-latest.args | 63 +++++++++++++++++
.../q35-virtio-pci.x86_64-latest.args | 67 +++++++++++++++++++
tests/qemuxml2argvtest.c | 12 +++-
9 files changed, 453 insertions(+), 1 deletion(-)
create mode 100644 tests/qemuxml2argvdata/aarch64-virtio-pci-default.aarch64-latest.args
create mode 100644
tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/q35-default-devices-only.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/q35-multifunction.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/q35-virtio-pci.x86_64-latest.args
diff --git a/tests/qemuxml2argvdata/aarch64-virtio-pci-default.aarch64-latest.args
b/tests/qemuxml2argvdata/aarch64-virtio-pci-default.aarch64-latest.args
new file mode 100644
index 0000000000..2ee8b1ace7
--- /dev/null
+++ b/tests/qemuxml2argvdata/aarch64-virtio-pci-default.aarch64-latest.args
@@ -0,0 +1,55 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-aarch64test \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-aarch64test/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-aarch64test/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-aarch64test/.config \
+/usr/bin/qemu-system-aarch64 \
+-name guest=aarch64test,debug-threads=on \
+-S \
+-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-aarch64test/master-key.aes"}'
\
+-machine virt,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram \
+-accel tcg \
+-cpu cortex-a53 \
+-m 1024 \
+-object
'{"qom-type":"memory-backend-ram","id":"mach-virt.ram","size":1073741824}'
\
+-overcommit mem-lock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \
+-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 \
+-no-acpi \
+-boot strict=on \
+-kernel /aarch64.kernel \
+-initrd /aarch64.initrd \
+-append 'earlyprintk console=ttyAMA0,115200n8 rw root=/dev/vda rootwait' \
+-dtb /aarch64.dtb \
+-device
'{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":11,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":12,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x4"}'
\
+-device
'{"driver":"pcie-root-port","port":13,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x1.0x5"}'
\
+-device
'{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.2","addr":"0x0"}'
\
+-blockdev
'{"driver":"file","filename":"/aarch64.raw","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}'
\
+-blockdev
'{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}'
\
+-device
'{"driver":"virtio-blk-pci","bus":"pci.3","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}'
\
+-netdev user,id=hostnet0 \
+-device
'{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.1","addr":"0x0"}'
\
+-chardev pty,id=charserial0 \
+-serial chardev:charserial0 \
+-chardev pty,id=charconsole1 \
+-device
'{"driver":"virtconsole","chardev":"charconsole1","id":"console1"}'
\
+-audiodev
'{"id":"audio1","driver":"none"}' \
+-device
'{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.4","addr":"0x0"}'
\
+-object
'{"qom-type":"rng-random","id":"objrng0","filename":"/dev/random"}'
\
+-device
'{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","bus":"pci.5","addr":"0x0"}'
\
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.x86_64-latest.args
b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.x86_64-latest.args
new file mode 100644
index 0000000000..98b5e9b0ad
--- /dev/null
+++ b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pcie.x86_64-latest.args
@@ -0,0 +1,35 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-QEMUGuest2 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest2/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest2/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest2/.config \
+/usr/bin/qemu-system-x86_64 \
+-name guest=QEMUGuest2,debug-threads=on \
+-S \
+-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-QEMUGuest2/master-key.aes"}'
\
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
+-cpu qemu64 \
+-m 214 \
+-object
'{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}'
\
+-overcommit mem-lock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid c7a5fdbd-edaf-9466-926a-d65c16db1809 \
+-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 \
+-no-acpi \
+-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-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}'
\
+-audiodev
'{"id":"audio1","driver":"none"}' \
+-device
'{"driver":"vhost-scsi-pci","wwpn":"naa.5123456789abcde0","vhostfd":"3","id":"hostdev0","bus":"pci.1","addr":"0x0"}'
\
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-default-devices-only.x86_64-latest.args
b/tests/qemuxml2argvdata/q35-default-devices-only.x86_64-latest.args
new file mode 100644
index 0000000000..ce5b2a216e
--- /dev/null
+++ b/tests/qemuxml2argvdata/q35-default-devices-only.x86_64-latest.args
@@ -0,0 +1,37 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-q35-test \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-q35-test/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-q35-test/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
+/usr/bin/qemu-system-x86_64 \
+-name guest=q35-test,debug-threads=on \
+-S \
+-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-q35-test/master-key.aes"}'
\
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
+-cpu qemu64 \
+-m 2048 \
+-object
'{"qom-type":"memory-backend-ram","id":"pc.ram","size":2147483648}'
\
+-overcommit mem-lock=off \
+-smp 2,sockets=2,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 \
+-no-acpi \
+-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-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}'
\
+-device
'{"driver":"qemu-xhci","id":"usb","bus":"pci.1","addr":"0x0"}'
\
+-audiodev
'{"id":"audio1","driver":"none"}' \
+-device
'{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.2","addr":"0x0"}'
\
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-multifunction.x86_64-latest.args
b/tests/qemuxml2argvdata/q35-multifunction.x86_64-latest.args
new file mode 100644
index 0000000000..298f7ed13d
--- /dev/null
+++ b/tests/qemuxml2argvdata/q35-multifunction.x86_64-latest.args
@@ -0,0 +1,52 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-q35-test \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-q35-test/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-q35-test/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
+/usr/bin/qemu-system-x86_64 \
+-name guest=q35-test,debug-threads=on \
+-S \
+-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-q35-test/master-key.aes"}'
\
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
+-cpu qemu64 \
+-m 2048 \
+-object
'{"qom-type":"memory-backend-ram","id":"pc.ram","size":2147483648}'
\
+-overcommit mem-lock=off \
+-smp 2,sockets=2,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 \
+-no-acpi \
+-boot strict=on \
+-device
'{"driver":"pcie-root-port","port":16,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":17,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x2.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":18,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":24,"chassis":4,"id":"pci.4","bus":"pcie.0","multifunction":true,"addr":"0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":25,"chassis":5,"id":"pci.5","bus":"pcie.0","multifunction":true,"addr":"0x3.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":32,"chassis":6,"id":"pci.6","bus":"pcie.0","multifunction":false,"addr":"0x4"}'
\
+-device
'{"driver":"pcie-root-port","port":33,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x4.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":8,"chassis":8,"id":"pci.8","bus":"pcie.0","multifunction":true,"addr":"0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":9,"chassis":9,"id":"pci.9","bus":"pcie.0","addr":"0x1.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":10,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x1.0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":11,"chassis":11,"id":"pci.11","bus":"pcie.0","addr":"0x1.0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":12,"chassis":12,"id":"pci.12","bus":"pcie.0","addr":"0x1.0x4"}'
\
+-device
'{"driver":"pcie-root-port","port":13,"chassis":13,"id":"pci.13","bus":"pcie.0","addr":"0x1.0x5"}'
\
+-device
'{"driver":"pcie-root-port","port":14,"chassis":14,"id":"pci.14","bus":"pcie.0","addr":"0x1.0x6"}'
\
+-device
'{"driver":"pcie-root-port","port":15,"chassis":15,"id":"pci.15","bus":"pcie.0","addr":"0x1.0x7"}'
\
+-device
'{"driver":"pcie-root-port","port":19,"chassis":16,"id":"pci.16","bus":"pcie.0","addr":"0x2.0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":20,"chassis":17,"id":"pci.17","bus":"pcie.0","addr":"0x2.0x4"}'
\
+-device
'{"driver":"pcie-root-port","port":21,"chassis":18,"id":"pci.18","bus":"pcie.0","addr":"0x2.0x5"}'
\
+-device
'{"driver":"qemu-xhci","id":"usb","bus":"pci.1","addr":"0x0"}'
\
+-audiodev
'{"id":"audio1","driver":"none"}' \
+-device
'{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.2","addr":"0x0"}'
\
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args
b/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args
new file mode 100644
index 0000000000..7992c33ace
--- /dev/null
+++ b/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args
@@ -0,0 +1,66 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-q35-test \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-q35-test/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-q35-test/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
+/usr/bin/qemu-system-x86_64 \
+-name guest=q35-test,debug-threads=on \
+-S \
+-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-q35-test/master-key.aes"}'
\
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
+-cpu qemu64 \
+-m 2048 \
+-object
'{"qom-type":"memory-backend-ram","id":"pc.ram","size":2147483648}'
\
+-overcommit mem-lock=off \
+-smp 2,sockets=2,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 \
+-no-acpi \
+-boot strict=on \
+-device
'{"driver":"pcie-root-port","port":16,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":17,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x2.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":18,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":19,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":20,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x4"}'
\
+-device
'{"driver":"pcie-root-port","port":21,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x5"}'
\
+-device
'{"driver":"pcie-root-port","port":22,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x2.0x6"}'
\
+-device
'{"driver":"pcie-root-port","port":23,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x2.0x7"}'
\
+-device
'{"driver":"pcie-root-port","port":24,"chassis":9,"id":"pci.9","bus":"pcie.0","multifunction":true,"addr":"0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":25,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x3.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":26,"chassis":11,"id":"pci.11","bus":"pcie.0","addr":"0x3.0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":27,"chassis":12,"id":"pci.12","bus":"pcie.0","addr":"0x3.0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":28,"chassis":13,"id":"pci.13","bus":"pcie.0","addr":"0x3.0x4"}'
\
+-device
'{"driver":"pcie-root-port","port":29,"chassis":14,"id":"pci.14","bus":"pcie.0","addr":"0x3.0x5"}'
\
+-device
'{"driver":"nec-usb-xhci","id":"usb","bus":"pci.6","addr":"0x0"}'
\
+-device
'{"driver":"virtio-scsi-pci","id":"scsi0","bus":"pci.5","addr":"0x0"}'
\
+-device
'{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.4","addr":"0x0"}'
\
+-blockdev
'{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}'
\
+-blockdev
'{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}'
\
+-device
'{"driver":"virtio-blk-pci","bus":"pci.7","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk1","bootindex":1}'
\
+-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
+-device
'{"driver":"virtio-9p-pci","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"/import/from/host","bus":"pci.1","addr":"0x0"}'
\
+-netdev user,id=hostnet0 \
+-device
'{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.2","addr":"0x0"}'
\
+-netdev user,id=hostnet1 \
+-device
'{"driver":"e1000e","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:66","bus":"pci.3","addr":"0x0"}'
\
+-device
'{"driver":"virtio-input-host-pci","id":"input0","evdev":"/dev/input/event1234","bus":"pci.10","addr":"0x0"}'
\
+-device
'{"driver":"virtio-mouse-pci","id":"input1","bus":"pci.11","addr":"0x0"}'
\
+-device
'{"driver":"virtio-keyboard-pci","id":"input2","bus":"pci.12","addr":"0x0"}'
\
+-device
'{"driver":"virtio-tablet-pci","id":"input3","bus":"pci.13","addr":"0x0"}'
\
+-audiodev
'{"id":"audio1","driver":"none"}' \
+-device
'{"driver":"virtio-vga","id":"video0","max_outputs":1,"bus":"pcie.0","addr":"0x1"}'
\
+-device
'{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.8","addr":"0x0"}'
\
+-object
'{"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}'
\
+-device
'{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","max-bytes":123,"period":1234,"bus":"pci.9","addr":"0x0"}'
\
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args
b/tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args
new file mode 100644
index 0000000000..4a84c2e621
--- /dev/null
+++ b/tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args
@@ -0,0 +1,67 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-q35-test \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-q35-test/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-q35-test/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
+/usr/bin/qemu-system-x86_64 \
+-name guest=q35-test,debug-threads=on \
+-S \
+-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-q35-test/master-key.aes"}'
\
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
+-cpu qemu64 \
+-m 2048 \
+-object
'{"qom-type":"memory-backend-ram","id":"pc.ram","size":2147483648}'
\
+-overcommit mem-lock=off \
+-smp 2,sockets=2,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 \
+-no-acpi \
+-boot strict=on \
+-device
'{"driver":"i82801b11-bridge","id":"pci.1","bus":"pcie.0","addr":"0x1e"}'
\
+-device
'{"driver":"pci-bridge","chassis_nr":2,"id":"pci.2","bus":"pci.1","addr":"0x0"}'
\
+-device
'{"driver":"pcie-root-port","port":16,"chassis":3,"id":"pci.3","bus":"pcie.0","multifunction":true,"addr":"0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":17,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":18,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":19,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":20,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x2.0x4"}'
\
+-device
'{"driver":"pcie-root-port","port":21,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x2.0x5"}'
\
+-device
'{"driver":"pcie-root-port","port":22,"chassis":9,"id":"pci.9","bus":"pcie.0","addr":"0x2.0x6"}'
\
+-device
'{"driver":"pcie-root-port","port":23,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x2.0x7"}'
\
+-device
'{"driver":"pcie-root-port","port":24,"chassis":11,"id":"pci.11","bus":"pcie.0","multifunction":true,"addr":"0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":25,"chassis":12,"id":"pci.12","bus":"pcie.0","addr":"0x3.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":26,"chassis":13,"id":"pci.13","bus":"pcie.0","addr":"0x3.0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":27,"chassis":14,"id":"pci.14","bus":"pcie.0","addr":"0x3.0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":28,"chassis":15,"id":"pci.15","bus":"pcie.0","addr":"0x3.0x4"}'
\
+-device
'{"driver":"nec-usb-xhci","id":"usb","bus":"pci.8","addr":"0x0"}'
\
+-device
'{"driver":"virtio-scsi-pci","id":"scsi0","bus":"pci.7","addr":"0x0"}'
\
+-device
'{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.6","addr":"0x0"}'
\
+-blockdev
'{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}'
\
+-blockdev
'{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}'
\
+-device
'{"driver":"virtio-blk-pci","bus":"pci.9","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk1","bootindex":1}'
\
+-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
+-device
'{"driver":"virtio-9p-pci","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"/import/from/host","bus":"pci.3","addr":"0x0"}'
\
+-netdev user,id=hostnet0 \
+-device
'{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.4","addr":"0x0"}'
\
+-netdev user,id=hostnet1 \
+-device
'{"driver":"e1000e","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:66","bus":"pci.5","addr":"0x0"}'
\
+-device
'{"driver":"virtio-input-host-pci","id":"input0","evdev":"/dev/input/event1234","bus":"pci.12","addr":"0x0"}'
\
+-device
'{"driver":"virtio-mouse-pci","id":"input1","bus":"pci.13","addr":"0x0"}'
\
+-device
'{"driver":"virtio-keyboard-pci","id":"input2","bus":"pci.14","addr":"0x0"}'
\
+-device
'{"driver":"virtio-tablet-pci","id":"input3","bus":"pci.15","addr":"0x0"}'
\
+-audiodev
'{"id":"audio1","driver":"none"}' \
+-device
'{"driver":"virtio-vga","id":"video0","max_outputs":1,"bus":"pcie.0","addr":"0x1"}'
\
+-device
'{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.10","addr":"0x0"}'
\
+-object
'{"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}'
\
+-device
'{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","max-bytes":123,"period":1234,"bus":"pci.11","addr":"0x0"}'
\
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args
b/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args
new file mode 100644
index 0000000000..77a7cf5e4f
--- /dev/null
+++ b/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args
@@ -0,0 +1,63 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-virt-manager-basic \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-virt-manager-basic/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-virt-manager-basic/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-virt-manager-basic/.config \
+/usr/bin/qemu-system-x86_64 \
+-name guest=virt-manager-basic,debug-threads=on \
+-S \
+-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-virt-manager-basic/master-key.aes"}'
\
+-machine q35,usb=off,vmport=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
+-cpu qemu64 \
+-m 4096 \
+-object
'{"qom-type":"memory-backend-ram","id":"pc.ram","size":4294967296}'
\
+-overcommit mem-lock=off \
+-smp 2,sockets=2,cores=1,threads=1 \
+-uuid 1b826c23-8767-47ad-a6b5-c83a88277f71 \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc,driftfix=slew \
+-global kvm-pit.lost_tick_policy=delay \
+-no-hpet \
+-no-shutdown \
+-global ICH9-LPC.disable_s3=1 \
+-global ICH9-LPC.disable_s4=1 \
+-boot strict=on \
+-device
'{"driver":"pcie-root-port","port":16,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":17,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x2.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":18,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":19,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":20,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x4"}'
\
+-device
'{"driver":"pcie-root-port","port":21,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x5"}'
\
+-device
'{"driver":"nec-usb-xhci","id":"usb","bus":"pci.2","addr":"0x0"}'
\
+-device
'{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.3","addr":"0x0"}'
\
+-blockdev
'{"driver":"file","filename":"/var/lib/libvirt/images/basic.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}'
\
+-blockdev
'{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}'
\
+-device
'{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}'
\
+-netdev user,id=hostnet0 \
+-device
'{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:9a:e6:c6","bus":"pci.1","addr":"0x0"}'
\
+-chardev pty,id=charserial0 \
+-device
'{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}'
\
+-chardev socket,id=charchannel0,fd=1729,server=on,wait=off \
+-device
'{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}'
\
+-chardev spicevmc,id=charchannel1,name=vdagent \
+-device
'{"driver":"virtserialport","bus":"virtio-serial0.0","nr":2,"chardev":"charchannel1","id":"channel1","name":"com.redhat.spice.0"}'
\
+-device
'{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}'
\
+-audiodev
'{"id":"audio1","driver":"spice"}' \
+-spice
port=5901,tls-port=5902,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,image-compression=off,seamless-migration=on
\
+-device
'{"driver":"qxl-vga","id":"video0","max_outputs":1,"ram_size":67108864,"vram_size":67108864,"vram64_size_mb":0,"vgamem_mb":16,"bus":"pcie.0","addr":"0x1"}'
\
+-device
'{"driver":"ich9-intel-hda","id":"sound0","bus":"pcie.0","addr":"0x1b"}'
\
+-device
'{"driver":"hda-duplex","id":"sound0-codec0","bus":"sound0.0","cad":0,"audiodev":"audio1"}'
\
+-chardev spicevmc,id=charredir0,name=usbredir \
+-device
'{"driver":"usb-redir","chardev":"charredir0","id":"redir0","bus":"usb.0","port":"2"}'
\
+-chardev spicevmc,id=charredir1,name=usbredir \
+-device
'{"driver":"usb-redir","chardev":"charredir1","id":"redir1","bus":"usb.0","port":"3"}'
\
+-device
'{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.5","addr":"0x0"}'
\
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-virtio-pci.x86_64-latest.args
b/tests/qemuxml2argvdata/q35-virtio-pci.x86_64-latest.args
new file mode 100644
index 0000000000..4a84c2e621
--- /dev/null
+++ b/tests/qemuxml2argvdata/q35-virtio-pci.x86_64-latest.args
@@ -0,0 +1,67 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-q35-test \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-q35-test/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-q35-test/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
+/usr/bin/qemu-system-x86_64 \
+-name guest=q35-test,debug-threads=on \
+-S \
+-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-q35-test/master-key.aes"}'
\
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
+-cpu qemu64 \
+-m 2048 \
+-object
'{"qom-type":"memory-backend-ram","id":"pc.ram","size":2147483648}'
\
+-overcommit mem-lock=off \
+-smp 2,sockets=2,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 \
+-no-acpi \
+-boot strict=on \
+-device
'{"driver":"i82801b11-bridge","id":"pci.1","bus":"pcie.0","addr":"0x1e"}'
\
+-device
'{"driver":"pci-bridge","chassis_nr":2,"id":"pci.2","bus":"pci.1","addr":"0x0"}'
\
+-device
'{"driver":"pcie-root-port","port":16,"chassis":3,"id":"pci.3","bus":"pcie.0","multifunction":true,"addr":"0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":17,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":18,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":19,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":20,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x2.0x4"}'
\
+-device
'{"driver":"pcie-root-port","port":21,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x2.0x5"}'
\
+-device
'{"driver":"pcie-root-port","port":22,"chassis":9,"id":"pci.9","bus":"pcie.0","addr":"0x2.0x6"}'
\
+-device
'{"driver":"pcie-root-port","port":23,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x2.0x7"}'
\
+-device
'{"driver":"pcie-root-port","port":24,"chassis":11,"id":"pci.11","bus":"pcie.0","multifunction":true,"addr":"0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":25,"chassis":12,"id":"pci.12","bus":"pcie.0","addr":"0x3.0x1"}'
\
+-device
'{"driver":"pcie-root-port","port":26,"chassis":13,"id":"pci.13","bus":"pcie.0","addr":"0x3.0x2"}'
\
+-device
'{"driver":"pcie-root-port","port":27,"chassis":14,"id":"pci.14","bus":"pcie.0","addr":"0x3.0x3"}'
\
+-device
'{"driver":"pcie-root-port","port":28,"chassis":15,"id":"pci.15","bus":"pcie.0","addr":"0x3.0x4"}'
\
+-device
'{"driver":"nec-usb-xhci","id":"usb","bus":"pci.8","addr":"0x0"}'
\
+-device
'{"driver":"virtio-scsi-pci","id":"scsi0","bus":"pci.7","addr":"0x0"}'
\
+-device
'{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.6","addr":"0x0"}'
\
+-blockdev
'{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}'
\
+-blockdev
'{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}'
\
+-device
'{"driver":"virtio-blk-pci","bus":"pci.9","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk1","bootindex":1}'
\
+-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
+-device
'{"driver":"virtio-9p-pci","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"/import/from/host","bus":"pci.3","addr":"0x0"}'
\
+-netdev user,id=hostnet0 \
+-device
'{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.4","addr":"0x0"}'
\
+-netdev user,id=hostnet1 \
+-device
'{"driver":"e1000e","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:66","bus":"pci.5","addr":"0x0"}'
\
+-device
'{"driver":"virtio-input-host-pci","id":"input0","evdev":"/dev/input/event1234","bus":"pci.12","addr":"0x0"}'
\
+-device
'{"driver":"virtio-mouse-pci","id":"input1","bus":"pci.13","addr":"0x0"}'
\
+-device
'{"driver":"virtio-keyboard-pci","id":"input2","bus":"pci.14","addr":"0x0"}'
\
+-device
'{"driver":"virtio-tablet-pci","id":"input3","bus":"pci.15","addr":"0x0"}'
\
+-audiodev
'{"id":"audio1","driver":"none"}' \
+-device
'{"driver":"virtio-vga","id":"video0","max_outputs":1,"bus":"pcie.0","addr":"0x1"}'
\
+-device
'{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.10","addr":"0x0"}'
\
+-object
'{"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}'
\
+-device
'{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","max-bytes":123,"period":1234,"bus":"pci.11","addr":"0x0"}'
\
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 2667aed76d..2f31cc8e15 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -2562,6 +2562,7 @@ mymain(void)
QEMU_CAPS_ICH9_AHCI,
QEMU_CAPS_ICH9_USB_EHCI1,
QEMU_CAPS_DEVICE_QXL);
+
/* verify that devices with pcie capability are assigned to a pcie slot */
DO_TEST("q35-pcie",
QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY,
@@ -2581,9 +2582,11 @@ mymain(void)
QEMU_CAPS_ICH9_AHCI,
QEMU_CAPS_ICH9_USB_EHCI1,
QEMU_CAPS_NEC_USB_XHCI);
+ DO_TEST_CAPS_LATEST("q35-pcie");
/* same XML as q35-pcie, but don't set
* QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY, so virtio devices should
- * be assigned to legacy pci slots
+ * be assigned to legacy pci slots. This doesn't apply to the 'real'
caps
+ * tests as such configuration is not present in real life.
*/
DO_TEST("q35-virtio-pci",
QEMU_CAPS_DEVICE_VIRTIO_RNG,
@@ -2602,6 +2605,7 @@ mymain(void)
QEMU_CAPS_ICH9_AHCI,
QEMU_CAPS_ICH9_USB_EHCI1,
QEMU_CAPS_NEC_USB_XHCI);
+ DO_TEST_CAPS_LATEST("q35-virtio-pci");
/* same as q35-pcie, but all PCI controllers are added automatically */
DO_TEST("q35-pcie-autoadd",
QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY,
@@ -2621,6 +2625,7 @@ mymain(void)
QEMU_CAPS_ICH9_AHCI,
QEMU_CAPS_ICH9_USB_EHCI1,
QEMU_CAPS_NEC_USB_XHCI);
+ DO_TEST_CAPS_LATEST("q35-pcie-autoadd");
DO_TEST("q35-default-devices-only",
QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY,
QEMU_CAPS_DEVICE_VIRTIO_RNG,
@@ -2639,6 +2644,7 @@ mymain(void)
QEMU_CAPS_ICH9_AHCI,
QEMU_CAPS_ICH9_USB_EHCI1,
QEMU_CAPS_NEC_USB_XHCI);
+ DO_TEST_CAPS_LATEST("q35-default-devices-only");
DO_TEST("q35-multifunction",
QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY,
QEMU_CAPS_DEVICE_VIRTIO_RNG,
@@ -2657,6 +2663,7 @@ mymain(void)
QEMU_CAPS_ICH9_AHCI,
QEMU_CAPS_ICH9_USB_EHCI1,
QEMU_CAPS_NEC_USB_XHCI);
+ DO_TEST_CAPS_LATEST("q35-multifunction");
DO_TEST("q35-virt-manager-basic",
QEMU_CAPS_KVM,
QEMU_CAPS_MACHINE_VMPORT_OPT,
@@ -2685,6 +2692,7 @@ mymain(void)
QEMU_CAPS_HDA_DUPLEX,
QEMU_CAPS_DEVICE_ISA_SERIAL,
QEMU_CAPS_USB_REDIR);
+ DO_TEST_CAPS_LATEST("q35-virt-manager-basic");
/* Test automatic and manual setting of pcie-root-port attributes */
DO_TEST("pcie-root-port",
@@ -2783,6 +2791,7 @@ mymain(void)
QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE_VHOST_SCSI,
QEMU_CAPS_DEVICE_PCIE_ROOT_PORT,
QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY);
+ DO_TEST_CAPS_LATEST("hostdev-scsi-vhost-scsi-pcie");
DO_TEST_PARSE_ERROR("hostdev-scsi-duplicate",
QEMU_CAPS_VIRTIO_SCSI,
QEMU_CAPS_DEVICE_VHOST_SCSI);
@@ -2832,6 +2841,7 @@ mymain(void)
QEMU_CAPS_DEVICE_IOH3420,
QEMU_CAPS_DEVICE_PL011,
QEMU_CAPS_VIRTIO_SCSI);
+ DO_TEST_CAPS_ARCH_LATEST("aarch64-virtio-pci-default",
"aarch64");
DO_TEST("aarch64-virt-2.6-virtio-pci-default",
QEMU_CAPS_DEVICE_VIRTIO_MMIO,
QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM,
--
2.37.1