From: Peter Krempa <pkrempa@redhat.com> Add example of two running configs with distinct recorded capabilities (presence of QEMU_CAPS_DEVICE_VIRTIO_VGA at startup) which will demonstrate the recording of the picked actual device type on the commandline. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- .../virtio-vga-upgrade-in.xml | 466 ++++++++++++++++++ .../virtio-vga-upgrade-missing-in.xml | 464 +++++++++++++++++ .../virtio-vga-upgrade-missing-out.xml | 457 +++++++++++++++++ .../virtio-vga-upgrade-out.xml | 459 +++++++++++++++++ tests/qemuxmlactivetest.c | 6 + 5 files changed, 1852 insertions(+) create mode 100644 tests/qemustatusxml2xmldata/virtio-vga-upgrade-in.xml create mode 100644 tests/qemustatusxml2xmldata/virtio-vga-upgrade-missing-in.xml create mode 100644 tests/qemustatusxml2xmldata/virtio-vga-upgrade-missing-out.xml create mode 100644 tests/qemustatusxml2xmldata/virtio-vga-upgrade-out.xml diff --git a/tests/qemustatusxml2xmldata/virtio-vga-upgrade-in.xml b/tests/qemustatusxml2xmldata/virtio-vga-upgrade-in.xml new file mode 100644 index 0000000000..8e526c4cc3 --- /dev/null +++ b/tests/qemustatusxml2xmldata/virtio-vga-upgrade-in.xml @@ -0,0 +1,466 @@ +<!-- +WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE +OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: + virsh edit virtio-vga-test +or other application using the libvirt API. +--> + +<domstatus state='running' reason='booted' pid='1348839'> + <monitor path='/var/lib/libvirt/qemu/domain-2-virtio-vga-test/monitor.sock' type='unix'/> + <namespaces> + <mount/> + </namespaces> + <vcpus> + <vcpu id='0' pid='1348848'/> + <vcpu id='1' pid='1348850'/> + </vcpus> + <qemuCaps> + <flag name='kvm'/> + <flag name='sdl'/> + <flag name='spice'/> + <flag name='hda-duplex'/> + <flag name='ccid-emulated'/> + <flag name='ccid-passthru'/> + <flag name='piix3-usb-uhci'/> + <flag name='piix4-usb-uhci'/> + <flag name='usb-ehci'/> + <flag name='ich9-usb-ehci1'/> + <flag name='pci-ohci'/> + <flag name='usb-redir'/> + <flag name='usb-hub'/> + <flag name='ich9-ahci'/> + <flag name='scsi-disk.channel'/> + <flag name='scsi-block'/> + <flag name='hda-micro'/> + <flag name='nec-usb-xhci'/> + <flag name='lsi'/> + <flag name='virtio-scsi-pci'/> + <flag name='usb-redir.filter'/> + <flag name='seccomp-sandbox'/> + <flag name='vnc'/> + <flag name='qxl'/> + <flag name='VGA'/> + <flag name='cirrus-vga'/> + <flag name='vmware-svga'/> + <flag name='usb-serial'/> + <flag name='virtio-rng'/> + <flag name='rng-random'/> + <flag name='rng-egd'/> + <flag name='megasas'/> + <flag name='tpm-passthrough'/> + <flag name='tpm-tis'/> + <flag name='pci-bridge'/> + <flag name='vfio-pci'/> + <flag name='dmi-to-pci-bridge'/> + <flag name='usb-storage'/> + <flag name='virtio-mmio'/> + <flag name='ich9-intel-hda'/> + <flag name='kvm-pit-lost-tick-policy'/> + <flag name='pvpanic'/> + <flag name='usb-kbd'/> + <flag name='usb-audio'/> + <flag name='rtc-reset-reinjection'/> + <flag name='VGA.vgamem_mb'/> + <flag name='vmware-svga.vgamem_mb'/> + <flag name='qxl.vgamem_mb'/> + <flag name='pc-dimm'/> + <flag name='machine-vmport-opt'/> + <flag name='pci-serial'/> + <flag name='ioh3420'/> + <flag name='x3130-upstream'/> + <flag name='xio3130-downstream'/> + <flag name='rtl8139'/> + <flag name='e1000'/> + <flag name='virtio-net'/> + <flag name='virtio-gpu'/> + <flag name='virtio-keyboard'/> + <flag name='virtio-mouse'/> + <flag name='virtio-tablet'/> + <flag name='virtio-input-host'/> + <flag name='virtio-balloon-pci.deflate-on-oom'/> + <flag name='mptsas1068'/> + <flag name='spice-gl'/> + <flag name='qxl.vram64_size_mb'/> + <flag name='pxb'/> + <flag name='pxb-pcie'/> + <flag name='intel-iommu'/> + <flag name='virtio-vga'/> + <flag name='ivshmem-plain'/> + <flag name='ivshmem-doorbell'/> + <flag name='vhost-scsi'/> + <flag name='query-cpu-model-expansion'/> + <flag name='spice-rendernode'/> + <flag name='nvdimm'/> + <flag name='pcie-root-port'/> + <flag name='query-cpu-definitions'/> + <flag name='qemu-xhci'/> + <flag name='intel-iommu.intremap'/> + <flag name='intel-iommu.caching-mode'/> + <flag name='intel-iommu.eim'/> + <flag name='intel-iommu.device-iotlb'/> + <flag name='vmcoreinfo'/> + <flag name='isa-serial'/> + <flag name='pcie-pci-bridge'/> + <flag name='nbd-tls'/> + <flag name='tpm-crb'/> + <flag name='pr-manager-helper'/> + <flag name='screendump_device'/> + <flag name='hda-output'/> + <flag name='vmgenid'/> + <flag name='vhost-vsock'/> + <flag name='tpm-emulator'/> + <flag name='mch'/> + <flag name='mch.extended-tseg-mbytes'/> + <flag name='egl-headless'/> + <flag name='memory-backend-memfd'/> + <flag name='memory-backend-memfd.hugetlb'/> + <flag name='egl-headless.rendernode'/> + <flag name='nvdimm.unarmed'/> + <flag name='virtio-pci-non-transitional'/> + <flag name='x86-max-cpu'/> + <flag name='cpu-unavailable-features'/> + <flag name='canonical-cpu-features'/> + <flag name='bochs-display'/> + <flag name='migration-file-drop-cache'/> + <flag name='dbus-vmstate'/> + <flag name='vhost-user-gpu'/> + <flag name='vhost-user-vga'/> + <flag name='query-cpu-model-baseline'/> + <flag name='query-cpu-model-comparison'/> + <flag name='ramfb'/> + <flag name='drive-nvme'/> + <flag name='smp-dies'/> + <flag name='i8042'/> + <flag name='rng-builtin'/> + <flag name='vhost-user-fs'/> + <flag name='fsdev.multidevs'/> + <flag name='pcie-root-port.hotplug'/> + <flag name='aio.io_uring'/> + <flag name='tcg'/> + <flag name='pvscsi'/> + <flag name='cpu.migratable'/> + <flag name='intel-iommu.aw-bits'/> + <flag name='numa.hmat'/> + <flag name='usb-host.hostdevice'/> + <flag name='virtio-balloon.free-page-reporting'/> + <flag name='netdev.vhost-vdpa'/> + <flag name='dc390'/> + <flag name='am53c974'/> + <flag name='virtio-pmem-pci'/> + <flag name='vhost-user-fs.bootindex'/> + <flag name='vhost-user-blk'/> + <flag name='cpu-max'/> + <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> + <flag name='vnc-power-control'/> + <flag name='rotation-rate'/> + <flag name='acpi-index'/> + <flag name='input-linux'/> + <flag name='virtio-gpu-gl-pci'/> + <flag name='virtio-vga-gl'/> + <flag name='confidential-guest-support'/> + <flag name='set-action'/> + <flag name='virtio-blk.queue-size'/> + <flag name='virtio-mem-pci'/> + <flag name='memory-backend-file.reserve'/> + <flag name='piix4.acpi-root-pci-hotplug'/> + <flag name='netdev.json'/> + <flag name='query-dirty-rate'/> + <flag name='rbd-encryption'/> + <flag name='sev-guest-kernel-hashes'/> + <flag name='sev-inject-launch-secret'/> + <flag name='device.json+hotplug'/> + <flag name='virtio-mem-pci.prealloc'/> + <flag name='calc-dirty-rate'/> + <flag name='dirtyrate-param.mode'/> + <flag name='blockdev.nbd.tls-hostname'/> + <flag name='memory-backend-file.prealloc-threads'/> + <flag name='virtio-iommu-pci'/> + <flag name='virtio-iommu.boot-bypass'/> + <flag name='virtio-net.rss'/> + <flag name='chardev.qemu-vdagent'/> + <flag name='display-dbus'/> + <flag name='iothread.thread-pool-max'/> + <flag name='usb-host.guest-resets-all'/> + <flag name='migration.blocked-reasons'/> + <flag name='query-stats'/> + <flag name='query-stats-schemas'/> + <flag name='thread-context'/> + <flag name='screenshot-format-png'/> + <flag name='machine-hpet'/> + <flag name='netdev.stream'/> + <flag name='virtio-crypto'/> + <flag name='cryptodev-backend-lkcf'/> + <flag name='pvpanic-pci'/> + <flag name='virtio-gpu.blob'/> + <flag name='rbd-encryption-layering'/> + <flag name='rbd-encryption-luks-any'/> + <flag name='qcow2-discard-no-unref'/> + <flag name='run-with.async-teardown'/> + <flag name='virtio-blk-vhost-vdpa'/> + <flag name='virtio-blk.iothread-mapping'/> + <flag name='smp-clusters'/> + <flag name='virtio-mem-pci.dynamic-memslots'/> + <flag name='blockjob.backing-mask-protocol'/> + <flag name='display-reload'/> + <flag name='usb-mtp'/> + <flag name='virtio-sound'/> + <flag name='netdev.user'/> + <flag name='acpi-erst'/> + <flag name='intel-iommu.dma-translation'/> + <flag name='machine-i8042-opt'/> + <flag name='chardev-reconnect-miliseconds'/> + <flag name='netdev-stream-reconnect-miliseconds'/> + <flag name='query-cpu-model-expansion.deprecated-props'/> + <flag name='migrate-incoming.exit-on-error'/> + <flag name='blockdev-set-active'/> + <flag name='shim'/> + <flag name='virtio-scsi.iothread-mapping'/> + <flag name='bus-floppy'/> + <flag name='nvme'/> + <flag name='nvme-ns'/> + <flag name='amd-iommu'/> + <flag name='amd-iommu.pci-id'/> + <flag name='usb-bot'/> + <flag name='qom-list-get'/> + <flag name='acpi-generic-initiator'/> + <flag name='disk-timed-stats'/> + <flag name='query-accelerators'/> + <flag name='virtio-iommu.aw-bits'/> + <flag name='scsi-block.migrate-pr'/> + <flag name='iommufd'/> + <flag name='uefi-vars'/> + <flag name='query-block-flat'/> + <flag name='amd-iommu.xtsup'/> + <flag name='blockdev-mirror.target-is-zero'/> + </qemuCaps> + <devices> + <device alias='input0'/> + <device alias='pci.7'/> + <device alias='pci.13'/> + <device alias='pci.4'/> + <device alias='pci.1'/> + <device alias='pci.10'/> + <device alias='video0'/> + <device alias='serial0'/> + <device alias='balloon0'/> + <device alias='pci.9'/> + <device alias='pci.12'/> + <device alias='pci.6'/> + <device alias='usb'/> + <device alias='pci.3'/> + <device alias='pci.8'/> + <device alias='pci.14'/> + <device alias='pci.5'/> + <device alias='pci.11'/> + <device alias='pci.2'/> + <device alias='channel0'/> + <device alias='virtio-serial0'/> + <device alias='rng0'/> + </devices> + <libDir path='/var/lib/libvirt/qemu/domain-2-virtio-vga-test'/> + <channelTargetDir path='/run/libvirt/qemu/channel/2-virtio-vga-test'/> + <memoryBackingDir path='/var/lib/libvirt/qemu/ram/2-virtio-vga-test'/> + <cpu mode='host-passthrough' check='none' migratable='on'/> + <chardevStdioLogd/> + <rememberOwner/> + <nodename index='0'/> + <fdset index='0'/> + <blockjobs active='no'/> + <agentTimeout>-2</agentTimeout> + <domain type='kvm' id='2'> + <name>virtio-vga-test</name> + <uuid>9ccb5ed0-fda4-4760-a38c-83e5f9eba7cf</uuid> + <metadata> + <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> + <libosinfo:os id="http://fedoraproject.org/fedora/43"/> + </libosinfo:libosinfo> + </metadata> + <memory unit='KiB'>4194304</memory> + <currentMemory unit='KiB'>4194304</currentMemory> + <vcpu placement='static'>2</vcpu> + <resource> + <partition>/machine</partition> + </resource> + <os> + <type arch='x86_64' machine='pc-q35-11.0'>hvm</type> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <apic/> + <vmport state='off'/> + </features> + <cpu mode='host-passthrough' check='none' migratable='on'/> + <clock offset='utc'> + <timer name='rtc' tickpolicy='catchup'/> + <timer name='pit' tickpolicy='delay'/> + <timer name='hpet' present='no'/> + </clock> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <pm> + <suspend-to-mem enabled='no'/> + <suspend-to-disk enabled='no'/> + </pm> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='qemu-xhci' ports='15'> + <alias name='usb'/> + <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> + </controller> + <controller type='pci' index='0' model='pcie-root'> + <alias name='pcie.0'/> + </controller> + <controller type='pci' index='1' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='1' port='0x10'/> + <alias name='pci.1'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> + </controller> + <controller type='pci' index='2' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='2' port='0x11'/> + <alias name='pci.2'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/> + </controller> + <controller type='pci' index='3' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='3' port='0x12'/> + <alias name='pci.3'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> + </controller> + <controller type='pci' index='4' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='4' port='0x13'/> + <alias name='pci.4'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/> + </controller> + <controller type='pci' index='5' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='5' port='0x14'/> + <alias name='pci.5'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/> + </controller> + <controller type='pci' index='6' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='6' port='0x15'/> + <alias name='pci.6'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/> + </controller> + <controller type='pci' index='7' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='7' port='0x16'/> + <alias name='pci.7'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/> + </controller> + <controller type='pci' index='8' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='8' port='0x17'/> + <alias name='pci.8'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/> + </controller> + <controller type='pci' index='9' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='9' port='0x18'/> + <alias name='pci.9'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/> + </controller> + <controller type='pci' index='10' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='10' port='0x19'/> + <alias name='pci.10'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/> + </controller> + <controller type='pci' index='11' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='11' port='0x1a'/> + <alias name='pci.11'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/> + </controller> + <controller type='pci' index='12' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='12' port='0x1b'/> + <alias name='pci.12'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/> + </controller> + <controller type='pci' index='13' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='13' port='0x1c'/> + <alias name='pci.13'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/> + </controller> + <controller type='pci' index='14' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='14' port='0x1d'/> + <alias name='pci.14'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x5'/> + </controller> + <controller type='sata' index='0'> + <alias name='ide'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='virtio-serial' index='0'> + <alias name='virtio-serial0'/> + <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> + </controller> + <serial type='pty'> + <source path='/dev/pts/3'/> + <target type='isa-serial' port='0'> + <model name='isa-serial'/> + </target> + <alias name='serial0'/> + </serial> + <console type='pty' tty='/dev/pts/3'> + <source path='/dev/pts/3'/> + <target type='serial' port='0'/> + <alias name='serial0'/> + </console> + <channel type='unix'> + <source mode='bind' path='/run/libvirt/qemu/channel/2-virtio-vga-test/org.qemu.guest_agent.0'/> + <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/> + <alias name='channel0'/> + <address type='virtio-serial' controller='0' bus='0' port='1'/> + </channel> + <input type='tablet' bus='usb'> + <alias name='input0'/> + <address type='usb' bus='0' port='1'/> + </input> + <input type='mouse' bus='ps2'> + <alias name='input1'/> + </input> + <input type='keyboard' bus='ps2'> + <alias name='input2'/> + </input> + <graphics type='vnc' port='5901' autoport='yes' websocketGenerated='no' listen='127.0.0.1'> + <listen type='address' address='127.0.0.1' fromConfig='1' autoGenerated='no'/> + </graphics> + <audio id='1' type='none'/> + <video> + <model type='virtio' heads='1' primary='yes'/> + <alias name='video0'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> + </video> + <watchdog model='itco' action='reset'> + <alias name='watchdog0'/> + </watchdog> + <memballoon model='virtio'> + <alias name='balloon0'/> + <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> + </memballoon> + <rng model='virtio'> + <backend model='random'>/dev/urandom</backend> + <alias name='rng0'/> + <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> + </rng> + </devices> + <seclabel type='dynamic' model='selinux' relabel='yes'> + <label>unconfined_u:unconfined_r:svirt_t:s0:c369,c928</label> + <imagelabel>unconfined_u:object_r:svirt_image_t:s0:c369,c928</imagelabel> + </seclabel> + <seclabel type='dynamic' model='dac' relabel='yes'> + <label>+107:+107</label> + <imagelabel>+107:+107</imagelabel> + </seclabel> + </domain> +</domstatus> diff --git a/tests/qemustatusxml2xmldata/virtio-vga-upgrade-missing-in.xml b/tests/qemustatusxml2xmldata/virtio-vga-upgrade-missing-in.xml new file mode 100644 index 0000000000..c9a7842258 --- /dev/null +++ b/tests/qemustatusxml2xmldata/virtio-vga-upgrade-missing-in.xml @@ -0,0 +1,464 @@ +<!-- +WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE +OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: + virsh edit virtio-vga-test +or other application using the libvirt API. +--> + +<domstatus state='running' reason='booted' pid='1348839'> + <monitor path='/var/lib/libvirt/qemu/domain-2-virtio-vga-test/monitor.sock' type='unix'/> + <namespaces> + <mount/> + </namespaces> + <vcpus> + <vcpu id='0' pid='1348848'/> + <vcpu id='1' pid='1348850'/> + </vcpus> + <qemuCaps> + <flag name='kvm'/> + <flag name='sdl'/> + <flag name='spice'/> + <flag name='hda-duplex'/> + <flag name='ccid-emulated'/> + <flag name='ccid-passthru'/> + <flag name='piix3-usb-uhci'/> + <flag name='piix4-usb-uhci'/> + <flag name='usb-ehci'/> + <flag name='ich9-usb-ehci1'/> + <flag name='pci-ohci'/> + <flag name='usb-redir'/> + <flag name='usb-hub'/> + <flag name='ich9-ahci'/> + <flag name='scsi-disk.channel'/> + <flag name='scsi-block'/> + <flag name='hda-micro'/> + <flag name='nec-usb-xhci'/> + <flag name='lsi'/> + <flag name='virtio-scsi-pci'/> + <flag name='usb-redir.filter'/> + <flag name='seccomp-sandbox'/> + <flag name='vnc'/> + <flag name='qxl'/> + <flag name='VGA'/> + <flag name='cirrus-vga'/> + <flag name='vmware-svga'/> + <flag name='usb-serial'/> + <flag name='virtio-rng'/> + <flag name='rng-random'/> + <flag name='rng-egd'/> + <flag name='megasas'/> + <flag name='tpm-passthrough'/> + <flag name='tpm-tis'/> + <flag name='pci-bridge'/> + <flag name='vfio-pci'/> + <flag name='dmi-to-pci-bridge'/> + <flag name='usb-storage'/> + <flag name='virtio-mmio'/> + <flag name='ich9-intel-hda'/> + <flag name='kvm-pit-lost-tick-policy'/> + <flag name='pvpanic'/> + <flag name='usb-kbd'/> + <flag name='usb-audio'/> + <flag name='rtc-reset-reinjection'/> + <flag name='VGA.vgamem_mb'/> + <flag name='vmware-svga.vgamem_mb'/> + <flag name='qxl.vgamem_mb'/> + <flag name='pc-dimm'/> + <flag name='machine-vmport-opt'/> + <flag name='pci-serial'/> + <flag name='ioh3420'/> + <flag name='x3130-upstream'/> + <flag name='xio3130-downstream'/> + <flag name='rtl8139'/> + <flag name='e1000'/> + <flag name='virtio-net'/> + <flag name='virtio-gpu'/> + <flag name='virtio-keyboard'/> + <flag name='virtio-mouse'/> + <flag name='virtio-tablet'/> + <flag name='virtio-input-host'/> + <flag name='virtio-balloon-pci.deflate-on-oom'/> + <flag name='mptsas1068'/> + <flag name='spice-gl'/> + <flag name='qxl.vram64_size_mb'/> + <flag name='pxb'/> + <flag name='pxb-pcie'/> + <flag name='intel-iommu'/> + <flag name='ivshmem-plain'/> + <flag name='ivshmem-doorbell'/> + <flag name='vhost-scsi'/> + <flag name='query-cpu-model-expansion'/> + <flag name='spice-rendernode'/> + <flag name='nvdimm'/> + <flag name='pcie-root-port'/> + <flag name='query-cpu-definitions'/> + <flag name='qemu-xhci'/> + <flag name='intel-iommu.intremap'/> + <flag name='intel-iommu.caching-mode'/> + <flag name='intel-iommu.eim'/> + <flag name='intel-iommu.device-iotlb'/> + <flag name='vmcoreinfo'/> + <flag name='isa-serial'/> + <flag name='pcie-pci-bridge'/> + <flag name='nbd-tls'/> + <flag name='tpm-crb'/> + <flag name='pr-manager-helper'/> + <flag name='screendump_device'/> + <flag name='hda-output'/> + <flag name='vmgenid'/> + <flag name='vhost-vsock'/> + <flag name='tpm-emulator'/> + <flag name='mch'/> + <flag name='mch.extended-tseg-mbytes'/> + <flag name='egl-headless'/> + <flag name='memory-backend-memfd'/> + <flag name='memory-backend-memfd.hugetlb'/> + <flag name='egl-headless.rendernode'/> + <flag name='nvdimm.unarmed'/> + <flag name='virtio-pci-non-transitional'/> + <flag name='x86-max-cpu'/> + <flag name='cpu-unavailable-features'/> + <flag name='canonical-cpu-features'/> + <flag name='bochs-display'/> + <flag name='migration-file-drop-cache'/> + <flag name='dbus-vmstate'/> + <flag name='vhost-user-gpu'/> + <flag name='vhost-user-vga'/> + <flag name='query-cpu-model-baseline'/> + <flag name='query-cpu-model-comparison'/> + <flag name='ramfb'/> + <flag name='drive-nvme'/> + <flag name='smp-dies'/> + <flag name='i8042'/> + <flag name='rng-builtin'/> + <flag name='vhost-user-fs'/> + <flag name='fsdev.multidevs'/> + <flag name='pcie-root-port.hotplug'/> + <flag name='aio.io_uring'/> + <flag name='tcg'/> + <flag name='pvscsi'/> + <flag name='cpu.migratable'/> + <flag name='intel-iommu.aw-bits'/> + <flag name='numa.hmat'/> + <flag name='usb-host.hostdevice'/> + <flag name='virtio-balloon.free-page-reporting'/> + <flag name='netdev.vhost-vdpa'/> + <flag name='dc390'/> + <flag name='am53c974'/> + <flag name='virtio-pmem-pci'/> + <flag name='vhost-user-fs.bootindex'/> + <flag name='vhost-user-blk'/> + <flag name='cpu-max'/> + <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> + <flag name='vnc-power-control'/> + <flag name='rotation-rate'/> + <flag name='acpi-index'/> + <flag name='input-linux'/> + <flag name='virtio-gpu-gl-pci'/> + <flag name='confidential-guest-support'/> + <flag name='set-action'/> + <flag name='virtio-blk.queue-size'/> + <flag name='virtio-mem-pci'/> + <flag name='memory-backend-file.reserve'/> + <flag name='piix4.acpi-root-pci-hotplug'/> + <flag name='netdev.json'/> + <flag name='query-dirty-rate'/> + <flag name='rbd-encryption'/> + <flag name='sev-guest-kernel-hashes'/> + <flag name='sev-inject-launch-secret'/> + <flag name='device.json+hotplug'/> + <flag name='virtio-mem-pci.prealloc'/> + <flag name='calc-dirty-rate'/> + <flag name='dirtyrate-param.mode'/> + <flag name='blockdev.nbd.tls-hostname'/> + <flag name='memory-backend-file.prealloc-threads'/> + <flag name='virtio-iommu-pci'/> + <flag name='virtio-iommu.boot-bypass'/> + <flag name='virtio-net.rss'/> + <flag name='chardev.qemu-vdagent'/> + <flag name='display-dbus'/> + <flag name='iothread.thread-pool-max'/> + <flag name='usb-host.guest-resets-all'/> + <flag name='migration.blocked-reasons'/> + <flag name='query-stats'/> + <flag name='query-stats-schemas'/> + <flag name='thread-context'/> + <flag name='screenshot-format-png'/> + <flag name='machine-hpet'/> + <flag name='netdev.stream'/> + <flag name='virtio-crypto'/> + <flag name='cryptodev-backend-lkcf'/> + <flag name='pvpanic-pci'/> + <flag name='virtio-gpu.blob'/> + <flag name='rbd-encryption-layering'/> + <flag name='rbd-encryption-luks-any'/> + <flag name='qcow2-discard-no-unref'/> + <flag name='run-with.async-teardown'/> + <flag name='virtio-blk-vhost-vdpa'/> + <flag name='virtio-blk.iothread-mapping'/> + <flag name='smp-clusters'/> + <flag name='virtio-mem-pci.dynamic-memslots'/> + <flag name='blockjob.backing-mask-protocol'/> + <flag name='display-reload'/> + <flag name='usb-mtp'/> + <flag name='virtio-sound'/> + <flag name='netdev.user'/> + <flag name='acpi-erst'/> + <flag name='intel-iommu.dma-translation'/> + <flag name='machine-i8042-opt'/> + <flag name='chardev-reconnect-miliseconds'/> + <flag name='netdev-stream-reconnect-miliseconds'/> + <flag name='query-cpu-model-expansion.deprecated-props'/> + <flag name='migrate-incoming.exit-on-error'/> + <flag name='blockdev-set-active'/> + <flag name='shim'/> + <flag name='virtio-scsi.iothread-mapping'/> + <flag name='bus-floppy'/> + <flag name='nvme'/> + <flag name='nvme-ns'/> + <flag name='amd-iommu'/> + <flag name='amd-iommu.pci-id'/> + <flag name='usb-bot'/> + <flag name='qom-list-get'/> + <flag name='acpi-generic-initiator'/> + <flag name='disk-timed-stats'/> + <flag name='query-accelerators'/> + <flag name='virtio-iommu.aw-bits'/> + <flag name='scsi-block.migrate-pr'/> + <flag name='iommufd'/> + <flag name='uefi-vars'/> + <flag name='query-block-flat'/> + <flag name='amd-iommu.xtsup'/> + <flag name='blockdev-mirror.target-is-zero'/> + </qemuCaps> + <devices> + <device alias='input0'/> + <device alias='pci.7'/> + <device alias='pci.13'/> + <device alias='pci.4'/> + <device alias='pci.1'/> + <device alias='pci.10'/> + <device alias='video0'/> + <device alias='serial0'/> + <device alias='balloon0'/> + <device alias='pci.9'/> + <device alias='pci.12'/> + <device alias='pci.6'/> + <device alias='usb'/> + <device alias='pci.3'/> + <device alias='pci.8'/> + <device alias='pci.14'/> + <device alias='pci.5'/> + <device alias='pci.11'/> + <device alias='pci.2'/> + <device alias='channel0'/> + <device alias='virtio-serial0'/> + <device alias='rng0'/> + </devices> + <libDir path='/var/lib/libvirt/qemu/domain-2-virtio-vga-test'/> + <channelTargetDir path='/run/libvirt/qemu/channel/2-virtio-vga-test'/> + <memoryBackingDir path='/var/lib/libvirt/qemu/ram/2-virtio-vga-test'/> + <cpu mode='host-passthrough' check='none' migratable='on'/> + <chardevStdioLogd/> + <rememberOwner/> + <nodename index='0'/> + <fdset index='0'/> + <blockjobs active='no'/> + <agentTimeout>-2</agentTimeout> + <domain type='kvm' id='2'> + <name>virtio-vga-test</name> + <uuid>9ccb5ed0-fda4-4760-a38c-83e5f9eba7cf</uuid> + <metadata> + <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> + <libosinfo:os id="http://fedoraproject.org/fedora/43"/> + </libosinfo:libosinfo> + </metadata> + <memory unit='KiB'>4194304</memory> + <currentMemory unit='KiB'>4194304</currentMemory> + <vcpu placement='static'>2</vcpu> + <resource> + <partition>/machine</partition> + </resource> + <os> + <type arch='x86_64' machine='pc-q35-11.0'>hvm</type> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <apic/> + <vmport state='off'/> + </features> + <cpu mode='host-passthrough' check='none' migratable='on'/> + <clock offset='utc'> + <timer name='rtc' tickpolicy='catchup'/> + <timer name='pit' tickpolicy='delay'/> + <timer name='hpet' present='no'/> + </clock> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <pm> + <suspend-to-mem enabled='no'/> + <suspend-to-disk enabled='no'/> + </pm> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='qemu-xhci' ports='15'> + <alias name='usb'/> + <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> + </controller> + <controller type='pci' index='0' model='pcie-root'> + <alias name='pcie.0'/> + </controller> + <controller type='pci' index='1' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='1' port='0x10'/> + <alias name='pci.1'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> + </controller> + <controller type='pci' index='2' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='2' port='0x11'/> + <alias name='pci.2'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/> + </controller> + <controller type='pci' index='3' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='3' port='0x12'/> + <alias name='pci.3'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> + </controller> + <controller type='pci' index='4' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='4' port='0x13'/> + <alias name='pci.4'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/> + </controller> + <controller type='pci' index='5' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='5' port='0x14'/> + <alias name='pci.5'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/> + </controller> + <controller type='pci' index='6' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='6' port='0x15'/> + <alias name='pci.6'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/> + </controller> + <controller type='pci' index='7' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='7' port='0x16'/> + <alias name='pci.7'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/> + </controller> + <controller type='pci' index='8' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='8' port='0x17'/> + <alias name='pci.8'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/> + </controller> + <controller type='pci' index='9' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='9' port='0x18'/> + <alias name='pci.9'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/> + </controller> + <controller type='pci' index='10' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='10' port='0x19'/> + <alias name='pci.10'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/> + </controller> + <controller type='pci' index='11' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='11' port='0x1a'/> + <alias name='pci.11'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/> + </controller> + <controller type='pci' index='12' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='12' port='0x1b'/> + <alias name='pci.12'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/> + </controller> + <controller type='pci' index='13' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='13' port='0x1c'/> + <alias name='pci.13'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/> + </controller> + <controller type='pci' index='14' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='14' port='0x1d'/> + <alias name='pci.14'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x5'/> + </controller> + <controller type='sata' index='0'> + <alias name='ide'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='virtio-serial' index='0'> + <alias name='virtio-serial0'/> + <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> + </controller> + <serial type='pty'> + <source path='/dev/pts/3'/> + <target type='isa-serial' port='0'> + <model name='isa-serial'/> + </target> + <alias name='serial0'/> + </serial> + <console type='pty' tty='/dev/pts/3'> + <source path='/dev/pts/3'/> + <target type='serial' port='0'/> + <alias name='serial0'/> + </console> + <channel type='unix'> + <source mode='bind' path='/run/libvirt/qemu/channel/2-virtio-vga-test/org.qemu.guest_agent.0'/> + <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/> + <alias name='channel0'/> + <address type='virtio-serial' controller='0' bus='0' port='1'/> + </channel> + <input type='tablet' bus='usb'> + <alias name='input0'/> + <address type='usb' bus='0' port='1'/> + </input> + <input type='mouse' bus='ps2'> + <alias name='input1'/> + </input> + <input type='keyboard' bus='ps2'> + <alias name='input2'/> + </input> + <graphics type='vnc' port='5901' autoport='yes' websocketGenerated='no' listen='127.0.0.1'> + <listen type='address' address='127.0.0.1' fromConfig='1' autoGenerated='no'/> + </graphics> + <audio id='1' type='none'/> + <video> + <model type='virtio' heads='1' primary='yes'/> + <alias name='video0'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> + </video> + <watchdog model='itco' action='reset'> + <alias name='watchdog0'/> + </watchdog> + <memballoon model='virtio'> + <alias name='balloon0'/> + <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> + </memballoon> + <rng model='virtio'> + <backend model='random'>/dev/urandom</backend> + <alias name='rng0'/> + <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> + </rng> + </devices> + <seclabel type='dynamic' model='selinux' relabel='yes'> + <label>unconfined_u:unconfined_r:svirt_t:s0:c369,c928</label> + <imagelabel>unconfined_u:object_r:svirt_image_t:s0:c369,c928</imagelabel> + </seclabel> + <seclabel type='dynamic' model='dac' relabel='yes'> + <label>+107:+107</label> + <imagelabel>+107:+107</imagelabel> + </seclabel> + </domain> +</domstatus> diff --git a/tests/qemustatusxml2xmldata/virtio-vga-upgrade-missing-out.xml b/tests/qemustatusxml2xmldata/virtio-vga-upgrade-missing-out.xml new file mode 100644 index 0000000000..a2b11ede2a --- /dev/null +++ b/tests/qemustatusxml2xmldata/virtio-vga-upgrade-missing-out.xml @@ -0,0 +1,457 @@ +<domstatus state='running' reason='booted' pid='1348839'> + <monitor path='/var/lib/libvirt/qemu/domain-2-virtio-vga-test/monitor.sock' type='unix'/> + <namespaces> + <mount/> + </namespaces> + <vcpus> + <vcpu id='0' pid='1348848'/> + <vcpu id='1' pid='1348850'/> + </vcpus> + <qemuCaps> + <flag name='kvm'/> + <flag name='sdl'/> + <flag name='spice'/> + <flag name='hda-duplex'/> + <flag name='ccid-emulated'/> + <flag name='ccid-passthru'/> + <flag name='piix3-usb-uhci'/> + <flag name='piix4-usb-uhci'/> + <flag name='usb-ehci'/> + <flag name='ich9-usb-ehci1'/> + <flag name='pci-ohci'/> + <flag name='usb-redir'/> + <flag name='usb-hub'/> + <flag name='ich9-ahci'/> + <flag name='scsi-disk.channel'/> + <flag name='scsi-block'/> + <flag name='hda-micro'/> + <flag name='nec-usb-xhci'/> + <flag name='lsi'/> + <flag name='virtio-scsi-pci'/> + <flag name='usb-redir.filter'/> + <flag name='seccomp-sandbox'/> + <flag name='vnc'/> + <flag name='qxl'/> + <flag name='VGA'/> + <flag name='cirrus-vga'/> + <flag name='vmware-svga'/> + <flag name='usb-serial'/> + <flag name='virtio-rng'/> + <flag name='rng-random'/> + <flag name='rng-egd'/> + <flag name='megasas'/> + <flag name='tpm-passthrough'/> + <flag name='tpm-tis'/> + <flag name='pci-bridge'/> + <flag name='vfio-pci'/> + <flag name='dmi-to-pci-bridge'/> + <flag name='usb-storage'/> + <flag name='virtio-mmio'/> + <flag name='ich9-intel-hda'/> + <flag name='kvm-pit-lost-tick-policy'/> + <flag name='pvpanic'/> + <flag name='usb-kbd'/> + <flag name='usb-audio'/> + <flag name='rtc-reset-reinjection'/> + <flag name='VGA.vgamem_mb'/> + <flag name='vmware-svga.vgamem_mb'/> + <flag name='qxl.vgamem_mb'/> + <flag name='pc-dimm'/> + <flag name='machine-vmport-opt'/> + <flag name='pci-serial'/> + <flag name='ioh3420'/> + <flag name='x3130-upstream'/> + <flag name='xio3130-downstream'/> + <flag name='rtl8139'/> + <flag name='e1000'/> + <flag name='virtio-net'/> + <flag name='virtio-gpu'/> + <flag name='virtio-keyboard'/> + <flag name='virtio-mouse'/> + <flag name='virtio-tablet'/> + <flag name='virtio-input-host'/> + <flag name='virtio-balloon-pci.deflate-on-oom'/> + <flag name='mptsas1068'/> + <flag name='spice-gl'/> + <flag name='qxl.vram64_size_mb'/> + <flag name='pxb'/> + <flag name='pxb-pcie'/> + <flag name='intel-iommu'/> + <flag name='ivshmem-plain'/> + <flag name='ivshmem-doorbell'/> + <flag name='vhost-scsi'/> + <flag name='query-cpu-model-expansion'/> + <flag name='spice-rendernode'/> + <flag name='nvdimm'/> + <flag name='pcie-root-port'/> + <flag name='query-cpu-definitions'/> + <flag name='qemu-xhci'/> + <flag name='intel-iommu.intremap'/> + <flag name='intel-iommu.caching-mode'/> + <flag name='intel-iommu.eim'/> + <flag name='intel-iommu.device-iotlb'/> + <flag name='vmcoreinfo'/> + <flag name='isa-serial'/> + <flag name='pcie-pci-bridge'/> + <flag name='nbd-tls'/> + <flag name='tpm-crb'/> + <flag name='pr-manager-helper'/> + <flag name='screendump_device'/> + <flag name='hda-output'/> + <flag name='vmgenid'/> + <flag name='vhost-vsock'/> + <flag name='tpm-emulator'/> + <flag name='mch'/> + <flag name='mch.extended-tseg-mbytes'/> + <flag name='egl-headless'/> + <flag name='memory-backend-memfd'/> + <flag name='memory-backend-memfd.hugetlb'/> + <flag name='egl-headless.rendernode'/> + <flag name='nvdimm.unarmed'/> + <flag name='virtio-pci-non-transitional'/> + <flag name='x86-max-cpu'/> + <flag name='cpu-unavailable-features'/> + <flag name='canonical-cpu-features'/> + <flag name='bochs-display'/> + <flag name='migration-file-drop-cache'/> + <flag name='dbus-vmstate'/> + <flag name='vhost-user-gpu'/> + <flag name='vhost-user-vga'/> + <flag name='query-cpu-model-baseline'/> + <flag name='query-cpu-model-comparison'/> + <flag name='ramfb'/> + <flag name='drive-nvme'/> + <flag name='smp-dies'/> + <flag name='i8042'/> + <flag name='rng-builtin'/> + <flag name='vhost-user-fs'/> + <flag name='fsdev.multidevs'/> + <flag name='pcie-root-port.hotplug'/> + <flag name='aio.io_uring'/> + <flag name='tcg'/> + <flag name='pvscsi'/> + <flag name='cpu.migratable'/> + <flag name='intel-iommu.aw-bits'/> + <flag name='numa.hmat'/> + <flag name='usb-host.hostdevice'/> + <flag name='virtio-balloon.free-page-reporting'/> + <flag name='netdev.vhost-vdpa'/> + <flag name='dc390'/> + <flag name='am53c974'/> + <flag name='virtio-pmem-pci'/> + <flag name='vhost-user-fs.bootindex'/> + <flag name='vhost-user-blk'/> + <flag name='cpu-max'/> + <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> + <flag name='vnc-power-control'/> + <flag name='rotation-rate'/> + <flag name='acpi-index'/> + <flag name='input-linux'/> + <flag name='virtio-gpu-gl-pci'/> + <flag name='confidential-guest-support'/> + <flag name='set-action'/> + <flag name='virtio-blk.queue-size'/> + <flag name='virtio-mem-pci'/> + <flag name='memory-backend-file.reserve'/> + <flag name='piix4.acpi-root-pci-hotplug'/> + <flag name='netdev.json'/> + <flag name='query-dirty-rate'/> + <flag name='rbd-encryption'/> + <flag name='sev-guest-kernel-hashes'/> + <flag name='sev-inject-launch-secret'/> + <flag name='device.json+hotplug'/> + <flag name='virtio-mem-pci.prealloc'/> + <flag name='calc-dirty-rate'/> + <flag name='dirtyrate-param.mode'/> + <flag name='blockdev.nbd.tls-hostname'/> + <flag name='memory-backend-file.prealloc-threads'/> + <flag name='virtio-iommu-pci'/> + <flag name='virtio-iommu.boot-bypass'/> + <flag name='virtio-net.rss'/> + <flag name='chardev.qemu-vdagent'/> + <flag name='display-dbus'/> + <flag name='iothread.thread-pool-max'/> + <flag name='usb-host.guest-resets-all'/> + <flag name='migration.blocked-reasons'/> + <flag name='query-stats'/> + <flag name='query-stats-schemas'/> + <flag name='thread-context'/> + <flag name='screenshot-format-png'/> + <flag name='machine-hpet'/> + <flag name='netdev.stream'/> + <flag name='virtio-crypto'/> + <flag name='cryptodev-backend-lkcf'/> + <flag name='pvpanic-pci'/> + <flag name='virtio-gpu.blob'/> + <flag name='rbd-encryption-layering'/> + <flag name='rbd-encryption-luks-any'/> + <flag name='qcow2-discard-no-unref'/> + <flag name='run-with.async-teardown'/> + <flag name='virtio-blk-vhost-vdpa'/> + <flag name='virtio-blk.iothread-mapping'/> + <flag name='smp-clusters'/> + <flag name='virtio-mem-pci.dynamic-memslots'/> + <flag name='blockjob.backing-mask-protocol'/> + <flag name='display-reload'/> + <flag name='usb-mtp'/> + <flag name='virtio-sound'/> + <flag name='netdev.user'/> + <flag name='acpi-erst'/> + <flag name='intel-iommu.dma-translation'/> + <flag name='machine-i8042-opt'/> + <flag name='chardev-reconnect-miliseconds'/> + <flag name='netdev-stream-reconnect-miliseconds'/> + <flag name='query-cpu-model-expansion.deprecated-props'/> + <flag name='migrate-incoming.exit-on-error'/> + <flag name='blockdev-set-active'/> + <flag name='shim'/> + <flag name='virtio-scsi.iothread-mapping'/> + <flag name='bus-floppy'/> + <flag name='nvme'/> + <flag name='nvme-ns'/> + <flag name='amd-iommu'/> + <flag name='amd-iommu.pci-id'/> + <flag name='usb-bot'/> + <flag name='qom-list-get'/> + <flag name='acpi-generic-initiator'/> + <flag name='disk-timed-stats'/> + <flag name='query-accelerators'/> + <flag name='virtio-iommu.aw-bits'/> + <flag name='scsi-block.migrate-pr'/> + <flag name='iommufd'/> + <flag name='uefi-vars'/> + <flag name='query-block-flat'/> + <flag name='amd-iommu.xtsup'/> + <flag name='blockdev-mirror.target-is-zero'/> + </qemuCaps> + <devices> + <device alias='input0'/> + <device alias='pci.7'/> + <device alias='pci.13'/> + <device alias='pci.4'/> + <device alias='pci.1'/> + <device alias='pci.10'/> + <device alias='video0'/> + <device alias='serial0'/> + <device alias='balloon0'/> + <device alias='pci.9'/> + <device alias='pci.12'/> + <device alias='pci.6'/> + <device alias='usb'/> + <device alias='pci.3'/> + <device alias='pci.8'/> + <device alias='pci.14'/> + <device alias='pci.5'/> + <device alias='pci.11'/> + <device alias='pci.2'/> + <device alias='channel0'/> + <device alias='virtio-serial0'/> + <device alias='rng0'/> + </devices> + <libDir path='/var/lib/libvirt/qemu/domain-2-virtio-vga-test'/> + <channelTargetDir path='/run/libvirt/qemu/channel/2-virtio-vga-test'/> + <memoryBackingDir path='/var/lib/libvirt/qemu/ram/2-virtio-vga-test'/> + <cpu mode='host-passthrough' check='none' migratable='on'/> + <chardevStdioLogd/> + <rememberOwner/> + <nodename index='0'/> + <fdset index='0'/> + <blockjobs active='no'/> + <agentTimeout>-2</agentTimeout> + <domain type='kvm' id='2'> + <name>virtio-vga-test</name> + <uuid>9ccb5ed0-fda4-4760-a38c-83e5f9eba7cf</uuid> + <metadata> + <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> + <libosinfo:os id="http://fedoraproject.org/fedora/43"/> + </libosinfo:libosinfo> + </metadata> + <memory unit='KiB'>4194304</memory> + <currentMemory unit='KiB'>4194304</currentMemory> + <vcpu placement='static'>2</vcpu> + <resource> + <partition>/machine</partition> + </resource> + <os> + <type arch='x86_64' machine='pc-q35-11.0'>hvm</type> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <apic/> + <vmport state='off'/> + </features> + <cpu mode='host-passthrough' check='none' migratable='on'/> + <clock offset='utc'> + <timer name='rtc' tickpolicy='catchup'/> + <timer name='pit' tickpolicy='delay'/> + <timer name='hpet' present='no'/> + </clock> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <pm> + <suspend-to-mem enabled='no'/> + <suspend-to-disk enabled='no'/> + </pm> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='qemu-xhci' ports='15'> + <alias name='usb'/> + <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> + </controller> + <controller type='pci' index='0' model='pcie-root'> + <alias name='pcie.0'/> + </controller> + <controller type='pci' index='1' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='1' port='0x10'/> + <alias name='pci.1'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> + </controller> + <controller type='pci' index='2' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='2' port='0x11'/> + <alias name='pci.2'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/> + </controller> + <controller type='pci' index='3' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='3' port='0x12'/> + <alias name='pci.3'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> + </controller> + <controller type='pci' index='4' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='4' port='0x13'/> + <alias name='pci.4'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/> + </controller> + <controller type='pci' index='5' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='5' port='0x14'/> + <alias name='pci.5'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/> + </controller> + <controller type='pci' index='6' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='6' port='0x15'/> + <alias name='pci.6'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/> + </controller> + <controller type='pci' index='7' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='7' port='0x16'/> + <alias name='pci.7'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/> + </controller> + <controller type='pci' index='8' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='8' port='0x17'/> + <alias name='pci.8'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/> + </controller> + <controller type='pci' index='9' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='9' port='0x18'/> + <alias name='pci.9'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/> + </controller> + <controller type='pci' index='10' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='10' port='0x19'/> + <alias name='pci.10'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/> + </controller> + <controller type='pci' index='11' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='11' port='0x1a'/> + <alias name='pci.11'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/> + </controller> + <controller type='pci' index='12' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='12' port='0x1b'/> + <alias name='pci.12'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/> + </controller> + <controller type='pci' index='13' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='13' port='0x1c'/> + <alias name='pci.13'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/> + </controller> + <controller type='pci' index='14' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='14' port='0x1d'/> + <alias name='pci.14'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x5'/> + </controller> + <controller type='sata' index='0'> + <alias name='ide'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='virtio-serial' index='0'> + <alias name='virtio-serial0'/> + <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> + </controller> + <serial type='pty'> + <source path='/dev/pts/3'/> + <target type='isa-serial' port='0'> + <model name='isa-serial'/> + </target> + <alias name='serial0'/> + </serial> + <console type='pty' tty='/dev/pts/3'> + <source path='/dev/pts/3'/> + <target type='serial' port='0'/> + <alias name='serial0'/> + </console> + <channel type='unix'> + <source mode='bind' path='/run/libvirt/qemu/channel/2-virtio-vga-test/org.qemu.guest_agent.0'/> + <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/> + <alias name='channel0'/> + <address type='virtio-serial' controller='0' bus='0' port='1'/> + </channel> + <input type='tablet' bus='usb'> + <alias name='input0'/> + <address type='usb' bus='0' port='1'/> + </input> + <input type='mouse' bus='ps2'> + <alias name='input1'/> + </input> + <input type='keyboard' bus='ps2'> + <alias name='input2'/> + </input> + <graphics type='vnc' port='5901' autoport='yes' websocketGenerated='no' listen='127.0.0.1'> + <listen type='address' address='127.0.0.1' fromConfig='1' autoGenerated='no'/> + </graphics> + <audio id='1' type='none'/> + <video> + <model type='virtio' heads='1' primary='yes'/> + <alias name='video0'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> + </video> + <watchdog model='itco' action='reset'> + <alias name='watchdog0'/> + </watchdog> + <memballoon model='virtio'> + <alias name='balloon0'/> + <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> + </memballoon> + <rng model='virtio'> + <backend model='random'>/dev/urandom</backend> + <alias name='rng0'/> + <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> + </rng> + </devices> + <seclabel type='dynamic' model='selinux' relabel='yes'> + <label>unconfined_u:unconfined_r:svirt_t:s0:c369,c928</label> + <imagelabel>unconfined_u:object_r:svirt_image_t:s0:c369,c928</imagelabel> + </seclabel> + <seclabel type='dynamic' model='dac' relabel='yes'> + <label>+107:+107</label> + <imagelabel>+107:+107</imagelabel> + </seclabel> + </domain> +</domstatus> diff --git a/tests/qemustatusxml2xmldata/virtio-vga-upgrade-out.xml b/tests/qemustatusxml2xmldata/virtio-vga-upgrade-out.xml new file mode 100644 index 0000000000..7f59c46a5c --- /dev/null +++ b/tests/qemustatusxml2xmldata/virtio-vga-upgrade-out.xml @@ -0,0 +1,459 @@ +<domstatus state='running' reason='booted' pid='1348839'> + <monitor path='/var/lib/libvirt/qemu/domain-2-virtio-vga-test/monitor.sock' type='unix'/> + <namespaces> + <mount/> + </namespaces> + <vcpus> + <vcpu id='0' pid='1348848'/> + <vcpu id='1' pid='1348850'/> + </vcpus> + <qemuCaps> + <flag name='kvm'/> + <flag name='sdl'/> + <flag name='spice'/> + <flag name='hda-duplex'/> + <flag name='ccid-emulated'/> + <flag name='ccid-passthru'/> + <flag name='piix3-usb-uhci'/> + <flag name='piix4-usb-uhci'/> + <flag name='usb-ehci'/> + <flag name='ich9-usb-ehci1'/> + <flag name='pci-ohci'/> + <flag name='usb-redir'/> + <flag name='usb-hub'/> + <flag name='ich9-ahci'/> + <flag name='scsi-disk.channel'/> + <flag name='scsi-block'/> + <flag name='hda-micro'/> + <flag name='nec-usb-xhci'/> + <flag name='lsi'/> + <flag name='virtio-scsi-pci'/> + <flag name='usb-redir.filter'/> + <flag name='seccomp-sandbox'/> + <flag name='vnc'/> + <flag name='qxl'/> + <flag name='VGA'/> + <flag name='cirrus-vga'/> + <flag name='vmware-svga'/> + <flag name='usb-serial'/> + <flag name='virtio-rng'/> + <flag name='rng-random'/> + <flag name='rng-egd'/> + <flag name='megasas'/> + <flag name='tpm-passthrough'/> + <flag name='tpm-tis'/> + <flag name='pci-bridge'/> + <flag name='vfio-pci'/> + <flag name='dmi-to-pci-bridge'/> + <flag name='usb-storage'/> + <flag name='virtio-mmio'/> + <flag name='ich9-intel-hda'/> + <flag name='kvm-pit-lost-tick-policy'/> + <flag name='pvpanic'/> + <flag name='usb-kbd'/> + <flag name='usb-audio'/> + <flag name='rtc-reset-reinjection'/> + <flag name='VGA.vgamem_mb'/> + <flag name='vmware-svga.vgamem_mb'/> + <flag name='qxl.vgamem_mb'/> + <flag name='pc-dimm'/> + <flag name='machine-vmport-opt'/> + <flag name='pci-serial'/> + <flag name='ioh3420'/> + <flag name='x3130-upstream'/> + <flag name='xio3130-downstream'/> + <flag name='rtl8139'/> + <flag name='e1000'/> + <flag name='virtio-net'/> + <flag name='virtio-gpu'/> + <flag name='virtio-keyboard'/> + <flag name='virtio-mouse'/> + <flag name='virtio-tablet'/> + <flag name='virtio-input-host'/> + <flag name='virtio-balloon-pci.deflate-on-oom'/> + <flag name='mptsas1068'/> + <flag name='spice-gl'/> + <flag name='qxl.vram64_size_mb'/> + <flag name='pxb'/> + <flag name='pxb-pcie'/> + <flag name='intel-iommu'/> + <flag name='virtio-vga'/> + <flag name='ivshmem-plain'/> + <flag name='ivshmem-doorbell'/> + <flag name='vhost-scsi'/> + <flag name='query-cpu-model-expansion'/> + <flag name='spice-rendernode'/> + <flag name='nvdimm'/> + <flag name='pcie-root-port'/> + <flag name='query-cpu-definitions'/> + <flag name='qemu-xhci'/> + <flag name='intel-iommu.intremap'/> + <flag name='intel-iommu.caching-mode'/> + <flag name='intel-iommu.eim'/> + <flag name='intel-iommu.device-iotlb'/> + <flag name='vmcoreinfo'/> + <flag name='isa-serial'/> + <flag name='pcie-pci-bridge'/> + <flag name='nbd-tls'/> + <flag name='tpm-crb'/> + <flag name='pr-manager-helper'/> + <flag name='screendump_device'/> + <flag name='hda-output'/> + <flag name='vmgenid'/> + <flag name='vhost-vsock'/> + <flag name='tpm-emulator'/> + <flag name='mch'/> + <flag name='mch.extended-tseg-mbytes'/> + <flag name='egl-headless'/> + <flag name='memory-backend-memfd'/> + <flag name='memory-backend-memfd.hugetlb'/> + <flag name='egl-headless.rendernode'/> + <flag name='nvdimm.unarmed'/> + <flag name='virtio-pci-non-transitional'/> + <flag name='x86-max-cpu'/> + <flag name='cpu-unavailable-features'/> + <flag name='canonical-cpu-features'/> + <flag name='bochs-display'/> + <flag name='migration-file-drop-cache'/> + <flag name='dbus-vmstate'/> + <flag name='vhost-user-gpu'/> + <flag name='vhost-user-vga'/> + <flag name='query-cpu-model-baseline'/> + <flag name='query-cpu-model-comparison'/> + <flag name='ramfb'/> + <flag name='drive-nvme'/> + <flag name='smp-dies'/> + <flag name='i8042'/> + <flag name='rng-builtin'/> + <flag name='vhost-user-fs'/> + <flag name='fsdev.multidevs'/> + <flag name='pcie-root-port.hotplug'/> + <flag name='aio.io_uring'/> + <flag name='tcg'/> + <flag name='pvscsi'/> + <flag name='cpu.migratable'/> + <flag name='intel-iommu.aw-bits'/> + <flag name='numa.hmat'/> + <flag name='usb-host.hostdevice'/> + <flag name='virtio-balloon.free-page-reporting'/> + <flag name='netdev.vhost-vdpa'/> + <flag name='dc390'/> + <flag name='am53c974'/> + <flag name='virtio-pmem-pci'/> + <flag name='vhost-user-fs.bootindex'/> + <flag name='vhost-user-blk'/> + <flag name='cpu-max'/> + <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> + <flag name='vnc-power-control'/> + <flag name='rotation-rate'/> + <flag name='acpi-index'/> + <flag name='input-linux'/> + <flag name='virtio-gpu-gl-pci'/> + <flag name='virtio-vga-gl'/> + <flag name='confidential-guest-support'/> + <flag name='set-action'/> + <flag name='virtio-blk.queue-size'/> + <flag name='virtio-mem-pci'/> + <flag name='memory-backend-file.reserve'/> + <flag name='piix4.acpi-root-pci-hotplug'/> + <flag name='netdev.json'/> + <flag name='query-dirty-rate'/> + <flag name='rbd-encryption'/> + <flag name='sev-guest-kernel-hashes'/> + <flag name='sev-inject-launch-secret'/> + <flag name='device.json+hotplug'/> + <flag name='virtio-mem-pci.prealloc'/> + <flag name='calc-dirty-rate'/> + <flag name='dirtyrate-param.mode'/> + <flag name='blockdev.nbd.tls-hostname'/> + <flag name='memory-backend-file.prealloc-threads'/> + <flag name='virtio-iommu-pci'/> + <flag name='virtio-iommu.boot-bypass'/> + <flag name='virtio-net.rss'/> + <flag name='chardev.qemu-vdagent'/> + <flag name='display-dbus'/> + <flag name='iothread.thread-pool-max'/> + <flag name='usb-host.guest-resets-all'/> + <flag name='migration.blocked-reasons'/> + <flag name='query-stats'/> + <flag name='query-stats-schemas'/> + <flag name='thread-context'/> + <flag name='screenshot-format-png'/> + <flag name='machine-hpet'/> + <flag name='netdev.stream'/> + <flag name='virtio-crypto'/> + <flag name='cryptodev-backend-lkcf'/> + <flag name='pvpanic-pci'/> + <flag name='virtio-gpu.blob'/> + <flag name='rbd-encryption-layering'/> + <flag name='rbd-encryption-luks-any'/> + <flag name='qcow2-discard-no-unref'/> + <flag name='run-with.async-teardown'/> + <flag name='virtio-blk-vhost-vdpa'/> + <flag name='virtio-blk.iothread-mapping'/> + <flag name='smp-clusters'/> + <flag name='virtio-mem-pci.dynamic-memslots'/> + <flag name='blockjob.backing-mask-protocol'/> + <flag name='display-reload'/> + <flag name='usb-mtp'/> + <flag name='virtio-sound'/> + <flag name='netdev.user'/> + <flag name='acpi-erst'/> + <flag name='intel-iommu.dma-translation'/> + <flag name='machine-i8042-opt'/> + <flag name='chardev-reconnect-miliseconds'/> + <flag name='netdev-stream-reconnect-miliseconds'/> + <flag name='query-cpu-model-expansion.deprecated-props'/> + <flag name='migrate-incoming.exit-on-error'/> + <flag name='blockdev-set-active'/> + <flag name='shim'/> + <flag name='virtio-scsi.iothread-mapping'/> + <flag name='bus-floppy'/> + <flag name='nvme'/> + <flag name='nvme-ns'/> + <flag name='amd-iommu'/> + <flag name='amd-iommu.pci-id'/> + <flag name='usb-bot'/> + <flag name='qom-list-get'/> + <flag name='acpi-generic-initiator'/> + <flag name='disk-timed-stats'/> + <flag name='query-accelerators'/> + <flag name='virtio-iommu.aw-bits'/> + <flag name='scsi-block.migrate-pr'/> + <flag name='iommufd'/> + <flag name='uefi-vars'/> + <flag name='query-block-flat'/> + <flag name='amd-iommu.xtsup'/> + <flag name='blockdev-mirror.target-is-zero'/> + </qemuCaps> + <devices> + <device alias='input0'/> + <device alias='pci.7'/> + <device alias='pci.13'/> + <device alias='pci.4'/> + <device alias='pci.1'/> + <device alias='pci.10'/> + <device alias='video0'/> + <device alias='serial0'/> + <device alias='balloon0'/> + <device alias='pci.9'/> + <device alias='pci.12'/> + <device alias='pci.6'/> + <device alias='usb'/> + <device alias='pci.3'/> + <device alias='pci.8'/> + <device alias='pci.14'/> + <device alias='pci.5'/> + <device alias='pci.11'/> + <device alias='pci.2'/> + <device alias='channel0'/> + <device alias='virtio-serial0'/> + <device alias='rng0'/> + </devices> + <libDir path='/var/lib/libvirt/qemu/domain-2-virtio-vga-test'/> + <channelTargetDir path='/run/libvirt/qemu/channel/2-virtio-vga-test'/> + <memoryBackingDir path='/var/lib/libvirt/qemu/ram/2-virtio-vga-test'/> + <cpu mode='host-passthrough' check='none' migratable='on'/> + <chardevStdioLogd/> + <rememberOwner/> + <nodename index='0'/> + <fdset index='0'/> + <blockjobs active='no'/> + <agentTimeout>-2</agentTimeout> + <domain type='kvm' id='2'> + <name>virtio-vga-test</name> + <uuid>9ccb5ed0-fda4-4760-a38c-83e5f9eba7cf</uuid> + <metadata> + <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> + <libosinfo:os id="http://fedoraproject.org/fedora/43"/> + </libosinfo:libosinfo> + </metadata> + <memory unit='KiB'>4194304</memory> + <currentMemory unit='KiB'>4194304</currentMemory> + <vcpu placement='static'>2</vcpu> + <resource> + <partition>/machine</partition> + </resource> + <os> + <type arch='x86_64' machine='pc-q35-11.0'>hvm</type> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <apic/> + <vmport state='off'/> + </features> + <cpu mode='host-passthrough' check='none' migratable='on'/> + <clock offset='utc'> + <timer name='rtc' tickpolicy='catchup'/> + <timer name='pit' tickpolicy='delay'/> + <timer name='hpet' present='no'/> + </clock> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <pm> + <suspend-to-mem enabled='no'/> + <suspend-to-disk enabled='no'/> + </pm> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <controller type='usb' index='0' model='qemu-xhci' ports='15'> + <alias name='usb'/> + <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> + </controller> + <controller type='pci' index='0' model='pcie-root'> + <alias name='pcie.0'/> + </controller> + <controller type='pci' index='1' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='1' port='0x10'/> + <alias name='pci.1'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> + </controller> + <controller type='pci' index='2' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='2' port='0x11'/> + <alias name='pci.2'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/> + </controller> + <controller type='pci' index='3' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='3' port='0x12'/> + <alias name='pci.3'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> + </controller> + <controller type='pci' index='4' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='4' port='0x13'/> + <alias name='pci.4'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/> + </controller> + <controller type='pci' index='5' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='5' port='0x14'/> + <alias name='pci.5'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/> + </controller> + <controller type='pci' index='6' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='6' port='0x15'/> + <alias name='pci.6'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/> + </controller> + <controller type='pci' index='7' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='7' port='0x16'/> + <alias name='pci.7'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/> + </controller> + <controller type='pci' index='8' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='8' port='0x17'/> + <alias name='pci.8'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/> + </controller> + <controller type='pci' index='9' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='9' port='0x18'/> + <alias name='pci.9'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/> + </controller> + <controller type='pci' index='10' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='10' port='0x19'/> + <alias name='pci.10'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/> + </controller> + <controller type='pci' index='11' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='11' port='0x1a'/> + <alias name='pci.11'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/> + </controller> + <controller type='pci' index='12' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='12' port='0x1b'/> + <alias name='pci.12'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/> + </controller> + <controller type='pci' index='13' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='13' port='0x1c'/> + <alias name='pci.13'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/> + </controller> + <controller type='pci' index='14' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='14' port='0x1d'/> + <alias name='pci.14'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x5'/> + </controller> + <controller type='sata' index='0'> + <alias name='ide'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='virtio-serial' index='0'> + <alias name='virtio-serial0'/> + <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> + </controller> + <serial type='pty'> + <source path='/dev/pts/3'/> + <target type='isa-serial' port='0'> + <model name='isa-serial'/> + </target> + <alias name='serial0'/> + </serial> + <console type='pty' tty='/dev/pts/3'> + <source path='/dev/pts/3'/> + <target type='serial' port='0'/> + <alias name='serial0'/> + </console> + <channel type='unix'> + <source mode='bind' path='/run/libvirt/qemu/channel/2-virtio-vga-test/org.qemu.guest_agent.0'/> + <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/> + <alias name='channel0'/> + <address type='virtio-serial' controller='0' bus='0' port='1'/> + </channel> + <input type='tablet' bus='usb'> + <alias name='input0'/> + <address type='usb' bus='0' port='1'/> + </input> + <input type='mouse' bus='ps2'> + <alias name='input1'/> + </input> + <input type='keyboard' bus='ps2'> + <alias name='input2'/> + </input> + <graphics type='vnc' port='5901' autoport='yes' websocketGenerated='no' listen='127.0.0.1'> + <listen type='address' address='127.0.0.1' fromConfig='1' autoGenerated='no'/> + </graphics> + <audio id='1' type='none'/> + <video> + <model type='virtio' heads='1' primary='yes'/> + <alias name='video0'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> + </video> + <watchdog model='itco' action='reset'> + <alias name='watchdog0'/> + </watchdog> + <memballoon model='virtio'> + <alias name='balloon0'/> + <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> + </memballoon> + <rng model='virtio'> + <backend model='random'>/dev/urandom</backend> + <alias name='rng0'/> + <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> + </rng> + </devices> + <seclabel type='dynamic' model='selinux' relabel='yes'> + <label>unconfined_u:unconfined_r:svirt_t:s0:c369,c928</label> + <imagelabel>unconfined_u:object_r:svirt_image_t:s0:c369,c928</imagelabel> + </seclabel> + <seclabel type='dynamic' model='dac' relabel='yes'> + <label>+107:+107</label> + <imagelabel>+107:+107</imagelabel> + </seclabel> + </domain> +</domstatus> diff --git a/tests/qemuxmlactivetest.c b/tests/qemuxmlactivetest.c index 44e66a4a29..c3609e9459 100644 --- a/tests/qemuxmlactivetest.c +++ b/tests/qemuxmlactivetest.c @@ -278,6 +278,12 @@ mymain(void) DO_TEST_STATUS("qcow2-data-file"); + /* These test cases capture situation where the 'device' attribute of a + * virtio video device is missing and thus needs to be inferred from the + * available capabilities when an upgraded libvirt is started */ + DO_TEST_STATUS("virtio-vga-upgrade"); + DO_TEST_STATUS("virtio-vga-upgrade-missing"); + cleanup: qemuTestDriverFree(&driver); -- 2.54.0