mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 17:34:18 +03:00
tests: qemu: add more tests for ZPCI on S390
1. Test for auto-generating uids while specifying valid fids 2. Test for auto-generating fids while specifying valid uids 3. Test for parse error while specifying a valid fid and an invalid uid 4. Test for parse error while specifying two ZPCI devices with same uid and fid addresses 5. Test for parse error when both uid and fid are set to zero 6. Test for error while specifying uid and not providing ZPCI capability. Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com> Signed-off-by: Bjoern Walk <bwalk@linux.ibm.com> Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com> Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com> Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com> Reviewed-by: Andrea Bolognani <abologna@redhat.com>
This commit is contained in:
parent
5f9dd9d866
commit
780e84c5e8
@ -0,0 +1,31 @@
|
||||
LC_ALL=C \
|
||||
PATH=/bin \
|
||||
HOME=/tmp/lib/domain--1-QEMUGuest1 \
|
||||
USER=test \
|
||||
LOGNAME=test \
|
||||
XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
|
||||
XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
|
||||
XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
|
||||
QEMU_AUDIO_DRV=none \
|
||||
/usr/bin/qemu-system-s390x \
|
||||
-name QEMUGuest1 \
|
||||
-S \
|
||||
-machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off \
|
||||
-m 214 \
|
||||
-realtime mlock=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,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
|
||||
server,nowait \
|
||||
-mon chardev=charmonitor,id=monitor,mode=control \
|
||||
-rtc base=utc \
|
||||
-no-shutdown \
|
||||
-device zpci,uid=1,fid=0,target=hostdev0,id=zpci1 \
|
||||
-device vfio-pci,host=0000:00:00.0,id=hostdev0,bus=pci.0,addr=0x1 \
|
||||
-device zpci,uid=5,fid=1,target=hostdev1,id=zpci5 \
|
||||
-device vfio-pci,host=0001:00:00.0,id=hostdev1,bus=pci.0,addr=0x2 \
|
||||
-device zpci,uid=2,fid=2,target=balloon0,id=zpci2 \
|
||||
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
|
@ -0,0 +1,29 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory>219100</memory>
|
||||
<os>
|
||||
<type arch='s390x' machine='s390-ccw-virtio'>hvm</type>
|
||||
</os>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-s390x</emulator>
|
||||
<hostdev mode='subsystem' type='pci'>
|
||||
<driver name='vfio'/>
|
||||
<source>
|
||||
<address domain='0x0000' bus='0x00' slot='0x00' function='0x0'/>
|
||||
</source>
|
||||
<address type='pci'>
|
||||
<zpci uid='0x0001'/>
|
||||
</address>
|
||||
</hostdev>
|
||||
<hostdev mode='subsystem' type='pci'>
|
||||
<driver name='vfio'/>
|
||||
<source>
|
||||
<address domain='0x0001' bus='0x00' slot='0x00' function='0x0'/>
|
||||
</source>
|
||||
<address type='pci'>
|
||||
<zpci uid='0x0005'/>
|
||||
</address>
|
||||
</hostdev>
|
||||
</devices>
|
||||
</domain>
|
@ -0,0 +1,31 @@
|
||||
LC_ALL=C \
|
||||
PATH=/bin \
|
||||
HOME=/tmp/lib/domain--1-QEMUGuest1 \
|
||||
USER=test \
|
||||
LOGNAME=test \
|
||||
XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
|
||||
XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
|
||||
XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
|
||||
QEMU_AUDIO_DRV=none \
|
||||
/usr/bin/qemu-system-s390x \
|
||||
-name QEMUGuest1 \
|
||||
-S \
|
||||
-machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off \
|
||||
-m 214 \
|
||||
-realtime mlock=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,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
|
||||
server,nowait \
|
||||
-mon chardev=charmonitor,id=monitor,mode=control \
|
||||
-rtc base=utc \
|
||||
-no-shutdown \
|
||||
-device zpci,uid=1,fid=0,target=hostdev0,id=zpci1 \
|
||||
-device vfio-pci,host=0000:00:00.0,id=hostdev0,bus=pci.0,addr=0x1 \
|
||||
-device zpci,uid=2,fid=31,target=hostdev1,id=zpci2 \
|
||||
-device vfio-pci,host=0000:00:01.0,id=hostdev1,bus=pci.0,addr=0x2 \
|
||||
-device zpci,uid=3,fid=1,target=balloon0,id=zpci3 \
|
||||
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
|
@ -0,0 +1,29 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory>219100</memory>
|
||||
<os>
|
||||
<type arch='s390x' machine='s390-ccw-virtio'>hvm</type>
|
||||
</os>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-s390x</emulator>
|
||||
<hostdev mode='subsystem' type='pci'>
|
||||
<driver name='vfio'/>
|
||||
<source>
|
||||
<address domain='0x0000' bus='0x00' slot='0x00' function='0x0'/>
|
||||
</source>
|
||||
<address type='pci'>
|
||||
<zpci fid='0x00000000'/>
|
||||
</address>
|
||||
</hostdev>
|
||||
<hostdev mode='subsystem' type='pci'>
|
||||
<driver name='vfio'/>
|
||||
<source>
|
||||
<address domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
|
||||
</source>
|
||||
<address type='pci'>
|
||||
<zpci fid='0x0000001f'/>
|
||||
</address>
|
||||
</hostdev>
|
||||
</devices>
|
||||
</domain>
|
30
tests/qemuxml2argvdata/hostdev-vfio-zpci-duplicate.xml
Normal file
30
tests/qemuxml2argvdata/hostdev-vfio-zpci-duplicate.xml
Normal file
@ -0,0 +1,30 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory>219100</memory>
|
||||
<os>
|
||||
<type arch='s390x' machine='s390-ccw-virtio'>hvm</type>
|
||||
</os>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-s390x</emulator>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<hostdev mode='subsystem' type='pci' managed='no'>
|
||||
<driver name='vfio'/>
|
||||
<source>
|
||||
<address domain='0x0000' bus='0x00' slot='0x00' function='0x0'/>
|
||||
</source>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x00' function='0x0'>
|
||||
<zpci uid='0x1234' fid='0x00001234'/>
|
||||
</address>
|
||||
</hostdev>
|
||||
<hostdev mode='subsystem' type='pci' managed='no'>
|
||||
<driver name='vfio'/>
|
||||
<source>
|
||||
<address domain='0x0001' bus='0x00' slot='0x00' function='0x0'/>
|
||||
</source>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x00' function='0x0'>
|
||||
<zpci uid='0x1234' fid='0x00001234'/>
|
||||
</address>
|
||||
</hostdev>
|
||||
</devices>
|
||||
</domain>
|
@ -0,0 +1,21 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory>219100</memory>
|
||||
<os>
|
||||
<type arch='s390x' machine='s390-ccw-virtio'>hvm</type>
|
||||
</os>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-s390x</emulator>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<hostdev mode='subsystem' type='pci' managed='no'>
|
||||
<driver name='vfio'/>
|
||||
<source>
|
||||
<address domain='0x0000' bus='0x00' slot='0x00' function='0x0'/>
|
||||
</source>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'>
|
||||
<zpci uid='0x000' fid='0x0000001f'/>
|
||||
</address>
|
||||
</hostdev>
|
||||
</devices>
|
||||
</domain>
|
21
tests/qemuxml2argvdata/hostdev-vfio-zpci-set-zero.xml
Normal file
21
tests/qemuxml2argvdata/hostdev-vfio-zpci-set-zero.xml
Normal file
@ -0,0 +1,21 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory>219100</memory>
|
||||
<os>
|
||||
<type arch='s390x' machine='s390-ccw-virtio'>hvm</type>
|
||||
</os>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-s390x</emulator>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<hostdev mode='subsystem' type='pci' managed='no'>
|
||||
<driver name='vfio'/>
|
||||
<source>
|
||||
<address domain='0x0000' bus='0x00' slot='0x00' function='0x0'/>
|
||||
</source>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'>
|
||||
<zpci uid='0x000' fid='0x00000000'/>
|
||||
</address>
|
||||
</hostdev>
|
||||
</devices>
|
||||
</domain>
|
@ -1745,6 +1745,11 @@ mymain(void)
|
||||
DO_TEST("hostdev-vfio-zpci",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_ZPCI);
|
||||
DO_TEST_PARSE_ERROR("hostdev-vfio-zpci-autogenerate-fids",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI);
|
||||
DO_TEST_PARSE_ERROR("hostdev-vfio-zpci-invalid-uid-valid-fid",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_ZPCI);
|
||||
DO_TEST("hostdev-vfio-zpci-multidomain-many",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_PCI_BRIDGE,
|
||||
@ -1752,6 +1757,12 @@ mymain(void)
|
||||
DO_TEST("hostdev-vfio-zpci-autogenerate",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_ZPCI);
|
||||
DO_TEST("hostdev-vfio-zpci-autogenerate-uids",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_ZPCI);
|
||||
DO_TEST("hostdev-vfio-zpci-autogenerate-fids",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_ZPCI);
|
||||
DO_TEST_PARSE_ERROR("hostdev-vfio-zpci-uid-set-zero",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_ZPCI);
|
||||
@ -1761,6 +1772,13 @@ mymain(void)
|
||||
QEMU_CAPS_DEVICE_ZPCI);
|
||||
DO_TEST_PARSE_ERROR("hostdev-vfio-zpci",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI);
|
||||
DO_TEST_PARSE_ERROR("hostdev-vfio-zpci-duplicate",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_ZPCI);
|
||||
DO_TEST_PARSE_ERROR("hostdev-vfio-zpci-set-zero",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_ZPCI);
|
||||
|
||||
DO_TEST("pci-rom", QEMU_CAPS_DEVICE_VFIO_PCI);
|
||||
DO_TEST("pci-rom-disabled", NONE);
|
||||
DO_TEST("pci-rom-disabled-invalid", NONE);
|
||||
|
@ -0,0 +1,43 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory unit='KiB'>219100</memory>
|
||||
<currentMemory unit='KiB'>219100</currentMemory>
|
||||
<vcpu placement='static'>1</vcpu>
|
||||
<os>
|
||||
<type arch='s390x' machine='s390-ccw-virtio'>hvm</type>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>destroy</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-s390x</emulator>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<hostdev mode='subsystem' type='pci' managed='no'>
|
||||
<driver name='vfio'/>
|
||||
<source>
|
||||
<address domain='0x0000' bus='0x00' slot='0x00' function='0x0'/>
|
||||
</source>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'>
|
||||
<zpci uid='0x0001' fid='0x00000000'/>
|
||||
</address>
|
||||
</hostdev>
|
||||
<hostdev mode='subsystem' type='pci' managed='no'>
|
||||
<driver name='vfio'/>
|
||||
<source>
|
||||
<address domain='0x0001' bus='0x00' slot='0x00' function='0x0'/>
|
||||
</source>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'>
|
||||
<zpci uid='0x0005' fid='0x00000001'/>
|
||||
</address>
|
||||
</hostdev>
|
||||
<memballoon model='virtio'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'>
|
||||
<zpci uid='0x0002' fid='0x00000002'/>
|
||||
</address>
|
||||
</memballoon>
|
||||
<panic model='s390'/>
|
||||
</devices>
|
||||
</domain>
|
@ -0,0 +1,43 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory unit='KiB'>219100</memory>
|
||||
<currentMemory unit='KiB'>219100</currentMemory>
|
||||
<vcpu placement='static'>1</vcpu>
|
||||
<os>
|
||||
<type arch='s390x' machine='s390-ccw-virtio'>hvm</type>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>destroy</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-s390x</emulator>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<hostdev mode='subsystem' type='pci' managed='no'>
|
||||
<driver name='vfio'/>
|
||||
<source>
|
||||
<address domain='0x0000' bus='0x00' slot='0x00' function='0x0'/>
|
||||
</source>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'>
|
||||
<zpci uid='0x0001' fid='0x00000000'/>
|
||||
</address>
|
||||
</hostdev>
|
||||
<hostdev mode='subsystem' type='pci' managed='no'>
|
||||
<driver name='vfio'/>
|
||||
<source>
|
||||
<address domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
|
||||
</source>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'>
|
||||
<zpci uid='0x0002' fid='0x0000001f'/>
|
||||
</address>
|
||||
</hostdev>
|
||||
<memballoon model='virtio'>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'>
|
||||
<zpci uid='0x0003' fid='0x00000001'/>
|
||||
</address>
|
||||
</memballoon>
|
||||
<panic model='s390'/>
|
||||
</devices>
|
||||
</domain>
|
@ -530,6 +530,12 @@ mymain(void)
|
||||
DO_TEST("hostdev-vfio-zpci-autogenerate",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_ZPCI);
|
||||
DO_TEST("hostdev-vfio-zpci-autogenerate-uids",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_ZPCI);
|
||||
DO_TEST("hostdev-vfio-zpci-autogenerate-fids",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_ZPCI);
|
||||
DO_TEST("hostdev-vfio-zpci-boundaries",
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI,
|
||||
QEMU_CAPS_DEVICE_PCI_BRIDGE,
|
||||
|
Loading…
Reference in New Issue
Block a user