qemuxml2(argv|xml)test: Modernize 'shmem' test cases

Upgrade the relevant test cases to use latest capabilities. Note that
the 'shmem' (ivshmem) device is no longer supported and will be dropped
later.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2023-08-16 13:22:59 +02:00
parent 3e6b39563b
commit b76e4d53c6
13 changed files with 62 additions and 59 deletions

View File

@ -18,6 +18,7 @@
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='none'/>
<shmem name='shmem0'>
<model type='ivshmem-plain'/>
<address type='isa'/>
</shmem>
</devices>

View File

@ -18,6 +18,7 @@
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='none'/>
<shmem name='shmem0'>
<model type='ivshmem-plain'/>
<size unit='K'>12345</size>
</shmem>
</devices>

View File

@ -18,6 +18,7 @@
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='none'/>
<shmem name='shmem0'>
<model type='ivshmem-plain'/>
<msi/>
</shmem>
</devices>

View File

@ -1,46 +0,0 @@
LC_ALL=C \
PATH=/bin \
HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1 \
USER=test \
LOGNAME=test \
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=QEMUGuest1,debug-threads=on \
-S \
-object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \
-machine pc,usb=off,dump-guest-core=off \
-accel tcg \
-m size=219136k \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-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 \
-usb \
-audiodev '{"id":"audio1","driver":"none"}' \
-object memory-backend-file,id=shmmem-shmem0,mem-path=/dev/shm/shmem0,size=4194304,share=on \
-device ivshmem-plain,id=shmem0,memdev=shmmem-shmem0,bus=pci.0,addr=0x2 \
-object memory-backend-file,id=shmmem-shmem1,mem-path=/dev/shm/shmem1,size=134217728,share=on \
-device ivshmem-plain,id=shmem1,memdev=shmmem-shmem1,master=off,bus=pci.0,addr=0x3 \
-object memory-backend-file,id=shmmem-shmem2,mem-path=/dev/shm/shmem2,size=268435456,share=on \
-device ivshmem-plain,id=shmem2,memdev=shmmem-shmem2,master=on,bus=pci.0,addr=0x4 \
-device ivshmem-doorbell,id=shmem3,chardev=charshmem3,ioeventfd=on,bus=pci.0,addr=0x5 \
-chardev socket,id=charshmem3,path=/var/lib/libvirt/shmem-shmem3-sock \
-device ivshmem-doorbell,id=shmem4,chardev=charshmem4,ioeventfd=on,bus=pci.0,addr=0x6 \
-chardev socket,id=charshmem4,path=/tmp/shmem4-sock \
-device ivshmem-doorbell,id=shmem5,chardev=charshmem5,ioeventfd=off,bus=pci.0,addr=0x7 \
-chardev socket,id=charshmem5,path=/tmp/shmem5-sock \
-device ivshmem-doorbell,id=shmem6,chardev=charshmem6,vectors=16,ioeventfd=on,bus=pci.0,addr=0x8 \
-chardev socket,id=charshmem6,path=/tmp/shmem6-sock \
-device ivshmem-doorbell,id=shmem7,chardev=charshmem7,vectors=32,ioeventfd=on,bus=pci.0,addr=0x9 \
-chardev socket,id=charshmem7,path=/tmp/shmem7-sock \
-msg timestamp=on

View File

@ -0,0 +1,48 @@
LC_ALL=C \
PATH=/bin \
HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1 \
USER=test \
LOGNAME=test \
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=QEMUGuest1,debug-threads=on \
-S \
-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \
-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \
-accel tcg \
-cpu qemu64 \
-m size=219136k \
-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-9455-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 \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-object '{"qom-type":"memory-backend-file","id":"shmmem-shmem0","mem-path":"/dev/shm/shmem0","size":4194304,"share":true}' \
-device '{"driver":"ivshmem-plain","id":"shmem0","memdev":"shmmem-shmem0","bus":"pci.0","addr":"0x2"}' \
-object '{"qom-type":"memory-backend-file","id":"shmmem-shmem1","mem-path":"/dev/shm/shmem1","size":134217728,"share":true}' \
-device '{"driver":"ivshmem-plain","id":"shmem1","memdev":"shmmem-shmem1","master":"off","bus":"pci.0","addr":"0x3"}' \
-object '{"qom-type":"memory-backend-file","id":"shmmem-shmem2","mem-path":"/dev/shm/shmem2","size":268435456,"share":true}' \
-device '{"driver":"ivshmem-plain","id":"shmem2","memdev":"shmmem-shmem2","master":"on","bus":"pci.0","addr":"0x4"}' \
-device '{"driver":"ivshmem-doorbell","id":"shmem3","chardev":"charshmem3","ioeventfd":true,"bus":"pci.0","addr":"0x5"}' \
-chardev socket,id=charshmem3,path=/var/lib/libvirt/shmem-shmem3-sock \
-device '{"driver":"ivshmem-doorbell","id":"shmem4","chardev":"charshmem4","ioeventfd":true,"bus":"pci.0","addr":"0x6"}' \
-chardev socket,id=charshmem4,path=/tmp/shmem4-sock \
-device '{"driver":"ivshmem-doorbell","id":"shmem5","chardev":"charshmem5","ioeventfd":false,"bus":"pci.0","addr":"0x7"}' \
-chardev socket,id=charshmem5,path=/tmp/shmem5-sock \
-device '{"driver":"ivshmem-doorbell","id":"shmem6","chardev":"charshmem6","vectors":16,"ioeventfd":true,"bus":"pci.0","addr":"0x8"}' \
-chardev socket,id=charshmem6,path=/tmp/shmem6-sock \
-device '{"driver":"ivshmem-doorbell","id":"shmem7","chardev":"charshmem7","vectors":32,"ioeventfd":true,"bus":"pci.0","addr":"0x9"}' \
-chardev socket,id=charshmem7,path=/tmp/shmem7-sock \
-msg timestamp=on

View File

@ -18,6 +18,7 @@
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='none'/>
<shmem name='shmem0'>
<model type='ivshmem-plain'/>
<size unit='K'>16</size>
</shmem>
</devices>

View File

@ -2442,17 +2442,12 @@ mymain(void)
DO_TEST_CAPS_ARCH_LATEST_FULL("fips-enabled", "x86_64", ARG_FLAGS, FLAG_FIPS_HOST);
DO_TEST("shmem", QEMU_CAPS_DEVICE_IVSHMEM);
DO_TEST("shmem-plain-doorbell", QEMU_CAPS_DEVICE_IVSHMEM,
QEMU_CAPS_DEVICE_IVSHMEM_PLAIN,
QEMU_CAPS_DEVICE_IVSHMEM_DOORBELL);
DO_TEST_PARSE_ERROR_NOCAPS("shmem");
DO_TEST_FAILURE("shmem-invalid-size",
QEMU_CAPS_DEVICE_IVSHMEM);
DO_TEST_FAILURE("shmem-invalid-address",
QEMU_CAPS_DEVICE_IVSHMEM);
DO_TEST_FAILURE("shmem-small-size",
QEMU_CAPS_DEVICE_IVSHMEM);
DO_TEST_PARSE_ERROR_NOCAPS("shmem-msi-only");
DO_TEST_CAPS_LATEST("shmem-plain-doorbell");
DO_TEST_CAPS_LATEST_FAILURE("shmem-invalid-size");
DO_TEST_CAPS_LATEST_FAILURE("shmem-invalid-address");
DO_TEST_CAPS_LATEST_FAILURE("shmem-small-size");
DO_TEST_CAPS_LATEST_PARSE_ERROR("shmem-msi-only");
DO_TEST("cpu-host-passthrough-features", QEMU_CAPS_KVM);
DO_TEST_FAILURE_NOCAPS("memory-align-fail");

View File

@ -8,13 +8,16 @@
<type arch='x86_64' machine='pc'>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>
<controller type='usb' index='0'>
<controller type='usb' index='0' model='piix3-uhci'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'/>

View File

@ -917,8 +917,7 @@ mymain(void)
DO_TEST_CAPS_LATEST("tap-vhost");
DO_TEST_CAPS_LATEST("tap-vhost-incorrect");
DO_TEST("shmem", QEMU_CAPS_DEVICE_IVSHMEM);
DO_TEST("shmem-plain-doorbell",
QEMU_CAPS_DEVICE_IVSHMEM_PLAIN, QEMU_CAPS_DEVICE_IVSHMEM_DOORBELL);
DO_TEST_CAPS_LATEST("shmem-plain-doorbell");
DO_TEST_CAPS_LATEST("smbios");
DO_TEST_CAPS_LATEST("smbios-multiple-type2");
DO_TEST_CAPS_LATEST("smbios-type-fwcfg");