+++ /dev/null
-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 secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-q35-test/master-key.aes \
--machine pc-q35-4.2,usb=off,dump-guest-core=off \
--accel tcg \
--cpu qemu64 \
--m 2048 \
--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 i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
--device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x0 \
--device pcie-root-port,port=16,chassis=3,id=pci.3,bus=pcie.0,multifunction=on,addr=0x2 \
--device pcie-root-port,port=17,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x1 \
--device pcie-root-port,port=18,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x2 \
--device pcie-root-port,port=19,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x3 \
--device pcie-root-port,port=20,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x4 \
--device pcie-root-port,port=21,chassis=8,id=pci.8,bus=pcie.0,addr=0x2.0x5 \
--device pcie-root-port,port=22,chassis=9,id=pci.9,bus=pcie.0,addr=0x2.0x6 \
--device pcie-root-port,port=23,chassis=10,id=pci.10,bus=pcie.0,addr=0x2.0x7 \
--device pcie-root-port,port=24,chassis=11,id=pci.11,bus=pcie.0,multifunction=on,addr=0x3 \
--device pcie-root-port,port=25,chassis=12,id=pci.12,bus=pcie.0,addr=0x3.0x1 \
--device pcie-root-port,port=26,chassis=13,id=pci.13,bus=pcie.0,addr=0x3.0x2 \
--device pcie-root-port,port=27,chassis=14,id=pci.14,bus=pcie.0,addr=0x3.0x3 \
--device pcie-root-port,port=28,chassis=15,id=pci.15,bus=pcie.0,addr=0x3.0x4 \
--device nec-usb-xhci,id=usb,bus=pci.8,addr=0x0 \
--device virtio-scsi-pci,id=scsi0,bus=pci.7,addr=0x0 \
--device 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 virtio-blk-pci,scsi=off,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 virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/import/from/host,bus=pci.3,addr=0x0 \
--netdev user,id=hostnet0 \
--device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.4,addr=0x0 \
--netdev user,id=hostnet1 \
--device e1000e,netdev=hostnet1,id=net1,mac=00:11:22:33:44:66,bus=pci.5,addr=0x0 \
--device virtio-input-host-pci,id=input0,evdev=/dev/input/event1234,bus=pci.12,addr=0x0 \
--device virtio-mouse-pci,id=input1,bus=pci.13,addr=0x0 \
--device virtio-keyboard-pci,id=input2,bus=pci.14,addr=0x0 \
--device virtio-tablet-pci,id=input3,bus=pci.15,addr=0x0 \
--audiodev '{"id":"audio1","driver":"none"}' \
--device virtio-vga,id=video0,max_outputs=1,bus=pcie.0,addr=0x1 \
--device virtio-balloon-pci,id=balloon0,bus=pci.10,addr=0x0 \
--object rng-random,id=objrng0,filename=/dev/urandom \
--device 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
+++ /dev/null
-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
+++ /dev/null
-q35-pcie.xml
\ No newline at end of file
/* verify that devices with pcie capability are assigned to a pcie slot */
DO_TEST_CAPS_VER("q35-pcie", "4.2.0");
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. This doesn't apply to the 'real' caps
- * tests as such configuration is not present in real life.
- */
- DO_TEST_CAPS_VER("q35-virtio-pci", "4.2.0");
- DO_TEST_CAPS_LATEST("q35-virtio-pci");
/* same as q35-pcie, but all PCI controllers are added automatically */
DO_TEST_CAPS_VER("q35-pcie-autoadd", "4.2.0");
DO_TEST_CAPS_LATEST("q35-pcie-autoadd");
+++ /dev/null
-<domain type='qemu'>
- <name>q35-test</name>
- <uuid>11dbdcdd-4c3b-482b-8903-9bdb8c0a2774</uuid>
- <memory unit='KiB'>2097152</memory>
- <currentMemory unit='KiB'>2097152</currentMemory>
- <vcpu placement='static' cpuset='0-1'>2</vcpu>
- <os>
- <type arch='x86_64' machine='q35'>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-x86_64</emulator>
- <disk type='block' device='disk'>
- <driver name='qemu' type='raw'/>
- <source dev='/dev/HostVG/QEMUGuest1'/>
- <target dev='vdb' bus='virtio'/>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/>
- </disk>
- <controller type='pci' index='0' model='pcie-root'/>
- <controller type='pci' index='1' model='dmi-to-pci-bridge'>
- <model name='i82801b11-bridge'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
- </controller>
- <controller type='pci' index='2' model='pci-bridge'>
- <model name='pci-bridge'/>
- <target chassisNr='2'/>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
- </controller>
- <controller type='pci' index='3' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='3' port='0x10'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
- </controller>
- <controller type='pci' index='4' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='4' port='0x11'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
- </controller>
- <controller type='pci' index='5' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='5' port='0x12'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
- </controller>
- <controller type='pci' index='6' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='6' port='0x13'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
- </controller>
- <controller type='pci' index='7' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='7' port='0x14'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
- </controller>
- <controller type='pci' index='8' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='8' port='0x15'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
- </controller>
- <controller type='pci' index='9' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='9' port='0x16'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
- </controller>
- <controller type='pci' index='10' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='10' port='0x17'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/>
- </controller>
- <controller type='pci' index='11' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='11' port='0x18'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/>
- </controller>
- <controller type='pci' index='12' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='12' port='0x19'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/>
- </controller>
- <controller type='pci' index='13' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='13' port='0x1a'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/>
- </controller>
- <controller type='pci' index='14' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='14' port='0x1b'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/>
- </controller>
- <controller type='pci' index='15' model='pcie-root-port'>
- <model name='ioh3420'/>
- <target chassis='15' port='0x1c'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/>
- </controller>
- <controller type='virtio-serial' index='0'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
- </controller>
- <controller type='scsi' index='0' model='virtio-scsi'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/>
- </controller>
- <controller type='usb' index='0' model='nec-xhci'>
- <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
- </controller>
- <controller type='sata' index='0'>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
- </controller>
- <filesystem type='mount' accessmode='passthrough'>
- <source dir='/export/to/guest'/>
- <target dir='/import/from/host'/>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
- </filesystem>
- <interface type='user'>
- <mac address='00:11:22:33:44:55'/>
- <model type='virtio'/>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>
- </interface>
- <interface type='user'>
- <mac address='00:11:22:33:44:66'/>
- <model type='e1000e'/>
- <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
- </interface>
- <input type='passthrough' bus='virtio'>
- <source evdev='/dev/input/event1234'/>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x08' function='0x0'/>
- </input>
- <input type='mouse' bus='virtio'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x09' function='0x0'/>
- </input>
- <input type='keyboard' bus='virtio'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x0a' function='0x0'/>
- </input>
- <input type='tablet' bus='virtio'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x0b' function='0x0'/>
- </input>
- <input type='mouse' bus='ps2'/>
- <input type='keyboard' bus='ps2'/>
- <audio id='1' type='none'/>
- <video>
- <model type='virtio' heads='1' primary='yes'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
- </video>
- <memballoon model='virtio'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x06' function='0x0'/>
- </memballoon>
- <rng model='virtio'>
- <rate bytes='123' period='1234'/>
- <backend model='random'>/dev/urandom</backend>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x07' function='0x0'/>
- </rng>
- </devices>
-</domain>
QEMU_CAPS_ICH9_AHCI,
QEMU_CAPS_ICH9_USB_EHCI1,
QEMU_CAPS_NEC_USB_XHCI);
- /* same XML as q35-pcie, but don't set
- QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY */
- DO_TEST("q35-virtio-pci",
- QEMU_CAPS_DEVICE_VIRTIO_RNG,
- QEMU_CAPS_OBJECT_RNG_RANDOM,
- QEMU_CAPS_DEVICE_VIRTIO_NET,
- QEMU_CAPS_DEVICE_VIRTIO_GPU,
- QEMU_CAPS_VIRTIO_GPU_VIRGL,
- QEMU_CAPS_VIRTIO_KEYBOARD,
- QEMU_CAPS_VIRTIO_MOUSE,
- QEMU_CAPS_VIRTIO_TABLET,
- QEMU_CAPS_VIRTIO_INPUT_HOST,
- QEMU_CAPS_VIRTIO_SCSI,
- QEMU_CAPS_DEVICE_PCI_BRIDGE,
- QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
- QEMU_CAPS_DEVICE_IOH3420,
- QEMU_CAPS_ICH9_AHCI,
- QEMU_CAPS_ICH9_USB_EHCI1,
- QEMU_CAPS_NEC_USB_XHCI);
/* same as q35-pcie, but all PCI controllers are added automatically */
DO_TEST("q35-pcie-autoadd",
QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY,