Update to 1.1.2 release, rebasing ARM patches

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrange 2013-09-02 11:47:36 +01:00
parent 2daa92daf9
commit 11755d8663
15 changed files with 780 additions and 1016 deletions

View File

@ -1,7 +1,7 @@
From d77c4e688131be9ae811e1d650f4fdcc9fc1cee2 Mon Sep 17 00:00:00 2001
From cc80f2dc06d46cb32a5cd6d12c6c47ddf64e72b6 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Sat, 17 Aug 2013 15:30:47 -0400
Subject: [PATCH] qemu: Set QEMU_AUDIO_DRV=none with -nographic
Date: Mon, 2 Sep 2013 11:23:59 +0100
Subject: [PATCH 1/8] qemu: Set QEMU_AUDIO_DRV=none with -nographic
On my machine, a guest fails to boot if it has a sound card, but not
graphical device/display is configured, because pulseaudio fails to
@ -12,295 +12,368 @@ isn't any option to do that, so -nographic always fails.
Set QEMU_AUDIO_DRV=none if no <graphics> are configured. Unfortunately
this has massive test suite fallout.
---
src/qemu/qemu_command.c | 7 ++++++-
tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-balloon-device-period.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-balloon-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-bios.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-blkiotune-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-complex-bootindex.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-boot-complex.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-boot-floppy.args | 3 ++-
.../qemuxml2argv-boot-menu-disable-drive-bootindex.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-network.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-order.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-bootloader.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-auto.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-clock-france.args | 4 ++--
tests/qemuxml2argvdata/qemuxml2argv-clock-localtime.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-compat-auto.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-compat.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-sclp.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-virtio-ccw.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-virtio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-eoi-disabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-eoi-enabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-exact1.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-exact2-nofallback.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-exact2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-fallback.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-host-kvmclock.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-host-model-fallback.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-host-model.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-host-passthrough.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-kvmclock.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-minimum1.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-minimum2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-strict1.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-topology1.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-topology2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-topology3.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cputune.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-blockio.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args | 3 ++-
.../qemuxml2argv-disk-cdrom-tray-no-device-cap.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-copy_on_read.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-cdrom.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-disk.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-disk-drive-cache-directsync.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-unsafe.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v1-none.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v1-wb.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v1-wt.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-none.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wb.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wt.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.args | 2 +-
.../qemuxml2argv-disk-drive-error-policy-enospace.args | 3 ++-
.../qemuxml2argv-disk-drive-error-policy-stop.args | 3 ++-
.../qemuxml2argv-disk-drive-error-policy-wreport-rignore.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fmt-qcow.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-disk-drive-network-gluster.args | 3 ++-
.../qemuxml2argv-disk-drive-network-iscsi-auth.args | 3 ++-
.../qemuxml2argv-disk-drive-network-iscsi-lun.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi.args | 3 ++-
.../qemuxml2argv-disk-drive-network-nbd-export.args | 3 ++-
.../qemuxml2argv-disk-drive-network-nbd-ipv6-export.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-ipv6.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd-unix.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-auth.args | 2 +-
.../qemuxml2argv-disk-drive-network-rbd-ceph-env.args | 4 ++--
.../qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-ipv6.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-drive-network-sheepdog.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-no-boot.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-readonly-disk.args | 3 ++-
.../qemuxml2argv-disk-drive-readonly-no-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args | 3 ++-
.../qemuxml2argv-disk-floppy-tray-no-device-cap.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-floppy.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-geometry.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-ide-drive-split.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-ide-wwn.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-ioeventfd.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-many.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-order.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-sata-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device-auto.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-megasas.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-snapshot.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-usb-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-ccw-many.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-ccw.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ccw.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-num_queues.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-virtio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-xenvbd.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-eoi-disabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-eoi-enabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-event_idx.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-fs9p.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-websocket.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-hostdev-pci-address-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-boot.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-readonly.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-scsi.args | 3 ++-
.../qemuxml2argv-hostdev-usb-address-device-boot.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hugepages.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hyperv-off.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hyperv.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse-addr.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-input-usbtablet.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-kvm.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-kvmclock+eoi-disabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-kvmclock.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-lease.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-machine-core-off.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-machine-core-on.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-machine-usb-opt.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-memtune.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-metadata.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-migrate.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-minimal.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-misc-disable-s3.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-misc-disable-suspends.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-misc-enable-s4.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-misc-no-reboot.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-mlock-off.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-mlock-on.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-mlock-unsupported.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-monitor-json.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-multifunction-pci-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-client.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-eth-names.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-eth.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-hostdev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-server.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-user.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-virtio-ccw.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-virtio-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-virtio-s390.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-virtio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-no-shutdown.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-nographics-vga.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-nographics.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-nosharepages.args | 3 ++-
.../qemuxml2argv-numad-auto-memory-vcpu-cpuset.args | 3 ++-
...emuxml2argv-numad-auto-memory-vcpu-no-cpuset-and-placement.args | 3 ++-
.../qemuxml2argv-numad-auto-vcpu-static-numatune.args | 3 ++-
.../qemuxml2argv-numad-static-memory-auto-vcpu.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-numad.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-numatune-memory.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-parallel-parport-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pci-bridge-many-disks.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pseries-basic.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pseries-nvram.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-pseries-usb-default.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pseries-usb-multi.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args | 4 ++--
tests/qemuxml2argvdata/qemuxml2argv-reboot-timeout-disabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-reboot-timeout-enabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-restore-v1.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-restore-v2-fd.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-restore-v2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-s390-piix-controllers.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-s390-usb-none.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-baselabel.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-seclabel-none.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-seclabel-static.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-dev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-file.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-many.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-pty.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-udp.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-unix.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-smartcard-controller.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-smartcard-host-certificates.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-smartcard-host.args | 3 ++-
.../qemuxml2argv-smartcard-passthrough-spicevmc.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-smartcard-passthrough-tcp.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-smbios.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-smp.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-sound-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-sound.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-tpm-passthrough.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-controller.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-hub.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-ich9-companion.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-ich9-ehci-addr.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-none.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-piix3-controller.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-ports.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-redir-boot.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-redir-filter.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-redir.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-virtio-lun.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-ccw.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-egd.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-random.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-watchdog-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-watchdog-dump.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-watchdog.args | 3 ++-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.args | 2 +-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.args | 2 +-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.args | 2 +-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.args | 2 +-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.args | 2 +-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.args | 2 +-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.args | 2 +-
281 files changed, 516 insertions(+), 284 deletions(-)
Add a qemu.conf parameter nographics_allow_host_audio, that if enabled
will pass through QEMU_AUDIO_DRV from sysconfig (similar to
vnc_allow_host_audio)
---
src/qemu/libvirtd_qemu.aug | 3 +++
src/qemu/qemu.conf | 9 +++++++++
src/qemu/qemu_cgroup.c | 2 +-
src/qemu/qemu_command.c | 9 ++++++++-
src/qemu/qemu_conf.c | 1 +
src/qemu/qemu_conf.h | 1 +
src/qemu/test_libvirtd_qemu.aug.in | 1 +
tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-balloon-device-period.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-balloon-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-bios.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-blkiotune-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-complex-bootindex.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-boot-complex.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-boot-floppy.args | 3 ++-
.../qemuxml2argv-boot-menu-disable-drive-bootindex.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-network.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-boot-order.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-bootloader.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-auto.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-clock-france.args | 4 ++--
tests/qemuxml2argvdata/qemuxml2argv-clock-localtime.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-compat-auto.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-compat.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-sclp.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-virtio-ccw.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-console-virtio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-eoi-disabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-eoi-enabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-exact1.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-exact2-nofallback.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-exact2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-fallback.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-host-kvmclock.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-host-model-fallback.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-host-model.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-host-passthrough.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-kvmclock.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-minimum1.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-minimum2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-strict1.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-topology1.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-topology2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cpu-topology3.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-cputune.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-blockio.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args | 2 +-
.../qemuxml2argv-disk-cdrom-tray-no-device-cap.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-copy_on_read.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-cdrom.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-disk.args | 3 ++-
.../qemuxml2argv-disk-drive-cache-directsync.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-unsafe.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v1-none.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v1-wb.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v1-wt.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-none.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wb.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wt.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.args | 2 +-
.../qemuxml2argv-disk-drive-error-policy-enospace.args | 3 ++-
.../qemuxml2argv-disk-drive-error-policy-stop.args | 3 ++-
.../qemuxml2argv-disk-drive-error-policy-wreport-rignore.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fmt-qcow.args | 3 ++-
.../qemuxml2argv-disk-drive-network-gluster.args | 3 ++-
.../qemuxml2argv-disk-drive-network-iscsi-auth.args | 3 ++-
.../qemuxml2argv-disk-drive-network-iscsi-lun.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi.args | 3 ++-
.../qemuxml2argv-disk-drive-network-nbd-export.args | 3 ++-
.../qemuxml2argv-disk-drive-network-nbd-ipv6-export.args | 3 ++-
.../qemuxml2argv-disk-drive-network-nbd-ipv6.args | 3 ++-
.../qemuxml2argv-disk-drive-network-nbd-unix.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-nbd.args | 3 ++-
.../qemuxml2argv-disk-drive-network-rbd-auth.args | 2 +-
.../qemuxml2argv-disk-drive-network-rbd-ceph-env.args | 4 ++--
.../qemuxml2argv-disk-drive-network-rbd-ipv6.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd.args | 2 +-
.../qemuxml2argv-disk-drive-network-sheepdog.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-no-boot.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-drive-readonly-disk.args | 3 ++-
.../qemuxml2argv-disk-drive-readonly-no-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args | 3 ++-
.../qemuxml2argv-disk-floppy-tray-no-device-cap.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-floppy.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-geometry.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-ide-drive-split.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-ide-wwn.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-ioeventfd.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-many.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-order.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-sata-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device-auto.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-scsi-lun-passthrough.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-megasas.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-virtio-scsi.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-vscsi.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-snapshot.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-usb-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-ccw-many.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-ccw.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-ccw.args | 3 ++-
.../qemuxml2argv-disk-virtio-scsi-num_queues.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-virtio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-disk-xenvbd.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-eoi-disabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-eoi-enabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-event_idx.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-fs9p.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-websocket.args | 3 ++-
.../qemuxml2argv-hostdev-pci-address-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-boot.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-lsi.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-readonly.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-scsi.args | 3 ++-
.../qemuxml2argv-hostdev-usb-address-device-boot.args | 3 ++-
.../qemuxml2argv-hostdev-usb-address-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hotplug-base.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-hugepages.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hyperv-off.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-hyperv.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse-addr.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-input-usbtablet.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-kvm.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-kvmclock+eoi-disabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-kvmclock.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-lease.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-machine-core-off.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-machine-core-on.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-machine-usb-opt.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-memtune.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-metadata.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-migrate.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-minimal.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-misc-disable-s3.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-misc-disable-suspends.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-misc-enable-s4.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-misc-no-reboot.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-mlock-off.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-mlock-on.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-mlock-unsupported.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-monitor-json.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-multifunction-pci-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-client.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-eth-names.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-eth.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-hostdev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-server.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-user.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-virtio-ccw.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-virtio-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-virtio-s390.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-net-virtio.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-no-shutdown.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-nographics-vga.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-nographics.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-nosharepages.args | 3 ++-
.../qemuxml2argv-numad-auto-memory-vcpu-cpuset.args | 3 ++-
...uxml2argv-numad-auto-memory-vcpu-no-cpuset-and-placement.args | 3 ++-
.../qemuxml2argv-numad-auto-vcpu-static-numatune.args | 3 ++-
.../qemuxml2argv-numad-static-memory-auto-vcpu.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-numad.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-numatune-memory.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-parallel-parport-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pci-bridge-many-disks.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-pcie-root.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pcihole64-q35.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pcihole64.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pseries-basic.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pseries-nvram.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-pseries-usb-default.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pseries-usb-multi.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-q35.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args | 4 ++--
tests/qemuxml2argvdata/qemuxml2argv-reboot-timeout-disabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-reboot-timeout-enabled.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-restore-v1.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-restore-v2-fd.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-restore-v2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-s390-piix-controllers.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-s390-usb-none.args | 2 +-
.../qemuxml2argv-seclabel-dynamic-baselabel.args | 3 ++-
.../qemuxml2argv-seclabel-dynamic-labelskip.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-seclabel-none.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-seclabel-static.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-dev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-file.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-many.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-pty.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-udp.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-unix.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-smartcard-controller.args | 3 ++-
.../qemuxml2argv-smartcard-host-certificates.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-smartcard-host.args | 3 ++-
.../qemuxml2argv-smartcard-passthrough-spicevmc.args | 3 ++-
.../qemuxml2argvdata/qemuxml2argv-smartcard-passthrough-tcp.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-smbios.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-smp.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-sound-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-sound.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-tpm-passthrough.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-controller.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-hub.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-ich9-companion.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-ich9-ehci-addr.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-none.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-piix3-controller.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-ports.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-redir-boot.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-redir-filter.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb-redir.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-virtio-lun.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-ccw.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-egd.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-random.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-watchdog-device.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-watchdog-dump.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-watchdog.args | 3 ++-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.args | 2 +-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.args | 2 +-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.args | 2 +-
.../qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.args | 2 +-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.args | 2 +-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.args | 2 +-
tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.args | 2 +-
296 files changed, 543 insertions(+), 294 deletions(-)
diff --git a/src/qemu/libvirtd_qemu.aug b/src/qemu/libvirtd_qemu.aug
index 5344125..cd13d53 100644
--- a/src/qemu/libvirtd_qemu.aug
+++ b/src/qemu/libvirtd_qemu.aug
@@ -39,6 +39,8 @@ module Libvirtd_qemu =
| str_entry "spice_tls_x509_cert_dir"
| str_entry "spice_password"
+ let nogfx_entry = bool_entry "nographics_allow_host_audio"
+
let remote_display_entry = int_entry "remote_display_port_min"
| int_entry "remote_display_port_max"
| int_entry "remote_websocket_port_min"
@@ -79,6 +81,7 @@ module Libvirtd_qemu =
(* Each entry in the config is one of the following ... *)
let entry = vnc_entry
| spice_entry
+ | nogfx_entry
| remote_display_entry
| security_entry
| save_entry
diff --git a/src/qemu/qemu.conf b/src/qemu/qemu.conf
index cdf1ec4..5fd6263 100644
--- a/src/qemu/qemu.conf
+++ b/src/qemu/qemu.conf
@@ -140,6 +140,15 @@
#spice_password = "XYZ12345"
+# By default, if no graphical front end is configured, libvirt will disable
+# QEMU audio output since directly talking to alsa/pulseaudio may not work
+# with various security settings. If you know what you're doing, enable
+# the setting below and libvirt will passthrough the QEMU_AUDIO_DRV
+# environment variable when using nographics.
+#
+#nographics_allow_host_audio = 1
+
+
# Override the port for creating both VNC and SPICE sessions (min).
# This defaults to 5900 and increases for consecutive sessions
# or when ports are occupied, until it hits the maximum.
diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index e27945e..cf41c33 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -488,7 +488,7 @@ qemuSetupDevicesCgroup(virQEMUDriverPtr driver,
defaultDeviceACL;
if (vm->def->nsounds &&
- (!vm->def->ngraphics ||
+ ((!vm->def->ngraphics && cfg->nogfxAllowHostAudio) ||
((vm->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC &&
cfg->vncAllowHostAudio) ||
(vm->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL)))) {
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 4345456..d968333 100644
index f8fccea..9dfdb73 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7160,9 +7160,13 @@ qemuBuildCommandLine(virConnectPtr conn,
@@ -7605,9 +7605,15 @@ qemuBuildCommandLine(virConnectPtr conn,
* if you ask for nographic. So we have to make sure we override
* these defaults ourselves...
*/
@ -308,14 +381,16 @@ index 4345456..d968333 100644
+ if (!def->graphics) {
virCommandAddArg(cmd, "-nographic");
+ /* trying to talk directly to pulseaudio is generally problematic */
+ virCommandAddEnvString(cmd, "QEMU_AUDIO_DRV=none");
+ if (cfg->nogfxAllowHostAudio)
+ virCommandAddEnvPass(cmd, "QEMU_AUDIO_DRV");
+ else
+ virCommandAddEnvString(cmd, "QEMU_AUDIO_DRV=none");
+ }
+
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
/* Disable global config files and default devices */
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NO_USER_CONFIG))
@@ -8226,6 +8230,7 @@ qemuBuildCommandLine(virConnectPtr conn,
@@ -8723,6 +8729,7 @@ qemuBuildCommandLine(virConnectPtr conn,
def->graphics[i]) < 0)
goto error;
}
@ -323,6 +398,42 @@ index 4345456..d968333 100644
if (def->nvideos > 0) {
int primaryVideoType = def->videos[0]->type;
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIDEO_PRIMARY) &&
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 86ed9ed..1f57f72 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -338,6 +338,7 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
GET_VALUE_BOOL("vnc_sasl", cfg->vncSASL);
GET_VALUE_STR("vnc_sasl_dir", cfg->vncSASLdir);
GET_VALUE_BOOL("vnc_allow_host_audio", cfg->vncAllowHostAudio);
+ GET_VALUE_BOOL("nographics_allow_host_audio", cfg->nogfxAllowHostAudio);
p = virConfGetValue(conf, "security_driver");
if (p && p->type == VIR_CONF_LIST) {
diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h
index 8229cfc..206f2c6 100644
--- a/src/qemu/qemu_conf.h
+++ b/src/qemu/qemu_conf.h
@@ -128,6 +128,7 @@ struct _virQEMUDriverConfig {
bool relaxedACS;
bool vncAllowHostAudio;
+ bool nogfxAllowHostAudio;
bool clearEmulatorCapabilities;
bool allowDiskFormatProbing;
bool setProcessName;
diff --git a/src/qemu/test_libvirtd_qemu.aug.in b/src/qemu/test_libvirtd_qemu.aug.in
index d4e4fae..ea770dc 100644
--- a/src/qemu/test_libvirtd_qemu.aug.in
+++ b/src/qemu/test_libvirtd_qemu.aug.in
@@ -15,6 +15,7 @@ module Test_libvirtd_qemu =
{ "spice_tls" = "1" }
{ "spice_tls_x509_cert_dir" = "/etc/pki/libvirt-spice" }
{ "spice_password" = "XYZ12345" }
+{ "nographics_allow_host_audio" = "1" }
{ "remote_display_port_min" = "5900" }
{ "remote_display_port_max" = "65535" }
{ "remote_websocket_port_min" = "5700" }
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args
index de4877b..bca7f6b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args
@ -952,6 +1063,26 @@ index a002f89..31ffe59 100644
pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi -boot c -usb -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 -drive \
if=ide,media=cdrom,bus=1,unit=0 -net none -serial none -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args
index 4fae2b0..39cdf59 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args
@@ -1,4 +1,4 @@
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/kvm -S \
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none /usr/bin/kvm -S \
-M pc-1.2 -m 1024 -smp 1 -nographic -nodefaults \
-monitor unix:/tmp/test-monitor,server,nowait -boot d -usb \
-drive file=ftp://host.name:21/url/path/file.iso,if=none,media=cdrom,id=drive-ide0-1-0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args
index 97f5406..2b85ba9 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args
@@ -1,4 +1,4 @@
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/kvm -S \
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none /usr/bin/kvm -S \
-M pc-1.2 -m 1024 -smp 1 -nographic -nodefaults \
-monitor unix:/tmp/test-monitor,server,nowait -boot d -usb \
-drive file=http://host.name:80/url/path/file.iso,if=none,media=cdrom,id=drive-ide0-1-0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args
index 762741c..9d7683b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args
@ -1873,6 +2004,16 @@ index e6e42de..557b733 100644
pc -m 214 -smp 1 -nographic -nodefconfig -nodefaults -monitor \
unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb -hda \
/dev/HostVG/QEMUGuest2 -device vfio-pci,host=06:12.5,id=hostdev0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hotplug-base.args b/tests/qemuxml2argvdata/qemuxml2argv-hotplug-base.args
index c4bd9c5..e78dff4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hotplug-base.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hotplug-base.args
@@ -1,4 +1,4 @@
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test \
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
/usr/libexec/qemu-kvm -S -M pc -m 4096 -smp 4 -nographic -nodefaults \
-monitor unix:/tmp/test-monitor,server,nowait \
-boot c \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args
index b327147..d42d9fc 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args
@ -2549,6 +2690,36 @@ index cb360f6..c850613 100644
pc -m 214 -smp 1 -nographic -nodefconfig -nodefaults -monitor \
unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb -hda \
/dev/HostVG/QEMUGuest2 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pcie-root.args b/tests/qemuxml2argvdata/qemuxml2argv-pcie-root.args
index 84428f9..af5734d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pcie-root.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pcie-root.args
@@ -1,4 +1,4 @@
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/libexec/qemu-kvm \
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm \
-S -M q35 -m 2048 -smp 2 -nographic -nodefaults \
-monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c \
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pcihole64-q35.args b/tests/qemuxml2argvdata/qemuxml2argv-pcihole64-q35.args
index 6d33b65..e10ccb1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pcihole64-q35.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pcihole64-q35.args
@@ -1,4 +1,4 @@
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test \
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
/usr/libexec/qemu-kvm -S -M q35 -m 2048 -smp 2 -nographic -nodefaults \
-monitor unix:/tmp/test-monitor,server,nowait -no-acpi \
-boot c -global q35-pcihost.pci-hole64-size=1048576K \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pcihole64.args b/tests/qemuxml2argvdata/qemuxml2argv-pcihole64.args
index 3165139..35fbf8f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pcihole64.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pcihole64.args
@@ -1,4 +1,4 @@
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test \
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
/usr/libexec/qemu-kvm -S -M pc-1.2 -m 2048 -smp 2 -nographic -nodefaults \
-monitor unix:/tmp/test-monitor,server,nowait -no-acpi \
-boot c -global i440FX-pcihost.pci-hole64-size=1048576K -usb \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args b/tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args
index 93e8f9c..fd7e994 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args
@ -2620,6 +2791,16 @@ index 60b31c1..f7c3af0 100644
/usr/bin/qemu-system-ppc64 \
-S -M pseries -m 512 -smp 1 -nographic -nodefconfig -nodefaults \
-chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-q35.args b/tests/qemuxml2argvdata/qemuxml2argv-q35.args
index 9e67be5..4461eba 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-q35.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-q35.args
@@ -1,4 +1,4 @@
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test \
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
/usr/libexec/qemu-kvm -S -M q35 -m 2048 -smp 2 -nographic -nodefaults \
-monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c \
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args
index e69a3b6..7606c1a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args
@ -2727,6 +2908,16 @@ index f0146c7..8bef546 100644
-name QEMUGuest1 -S -M pc -m 214 -smp 1 -nographic -monitor \
unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb \
-hda /dev/HostVG/QEMUGuest1 -net none -serial \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-labelskip.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-labelskip.args
index 892c6b5..74357f8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-labelskip.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-labelskip.args
@@ -1,4 +1,4 @@
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu \
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none /usr/bin/qemu \
-name QEMUGuest1 -S -M pc -m 214 -smp 1 -nographic -monitor \
unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb \
-hda /dev/HostVG/QEMUGuest1 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args
index 35c3e81..397df23 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args
@ -2760,6 +2951,16 @@ index f0146c7..8bef546 100644
-name QEMUGuest1 -S -M pc -m 214 -smp 1 -nographic -monitor \
unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb \
-hda /dev/HostVG/QEMUGuest1 -net none -serial \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args
index 892c6b5..74357f8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args
@@ -1,4 +1,4 @@
-LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu \
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none /usr/bin/qemu \
-name QEMUGuest1 -S -M pc -m 214 -smp 1 -nographic -monitor \
unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb \
-hda /dev/HostVG/QEMUGuest1 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args
index f4a5c6d..dc5bc2b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args
@ -3367,3 +3568,6 @@ index 29cf9c3..26038a0 100644
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor \
unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb -hda \
/dev/HostVG/QEMUGuest1 -net none -serial none -parallel none
--
1.8.3.1

View File

@ -1,64 +0,0 @@
From 815828b54398429bddb290d954e6b0291e8831a4 Mon Sep 17 00:00:00 2001
From: Jim Fehlig <jfehlig@suse.com>
Date: Mon, 5 Aug 2013 10:27:23 -0600
Subject: [PATCH] xen: fix memory corruption in legacy driver
Commit 632180d1 introduced memory corruption in xenDaemonListDefinedDomains
by starting to populate the names array at index -1, causing all sorts
of havoc in libvirtd such as aborts like the following
*** Error in `/usr/sbin/libvirtd': double free or corruption (out): 0x00007fffe00ccf20 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7abf6)[0x7ffff3fa0bf6]
/lib64/libc.so.6(+0x7b973)[0x7ffff3fa1973]
/lib64/libc.so.6(xdr_array+0xde)[0x7ffff403cbae]
/usr/sbin/libvirtd(+0x50251)[0x5555555a4251]
/lib64/libc.so.6(xdr_free+0x15)[0x7ffff403ccd5]
/usr/lib64/libvirt.so.0(+0x1fad34)[0x7ffff76b1d34]
/usr/lib64/libvirt.so.0(virNetServerProgramDispatch+0x1fc)[0x7ffff76b16f1]
/usr/lib64/libvirt.so.0(+0x1f214a)[0x7ffff76a914a]
/usr/lib64/libvirt.so.0(+0x1f222d)[0x7ffff76a922d]
/usr/lib64/libvirt.so.0(+0xbcc4f)[0x7ffff7573c4f]
/usr/lib64/libvirt.so.0(+0xbc5e5)[0x7ffff75735e5]
/lib64/libpthread.so.0(+0x7e0f)[0x7ffff48f7e0f]
/lib64/libc.so.6(clone+0x6d)[0x7ffff400e7dd]
Fix by initializing ret to 0 and only setting to error on failure path.
(cherry picked from commit 0e671a1646df543eab683b38f6644f70d12fbee1)
---
src/xen/xend_internal.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
index 9d61fca..01e74bd 100644
--- a/src/xen/xend_internal.c
+++ b/src/xen/xend_internal.c
@@ -2897,7 +2897,7 @@ xenDaemonListDefinedDomains(virConnectPtr conn,
{
struct sexpr *root = NULL;
size_t i;
- int ret = -1;
+ int ret = 0;
struct sexpr *_for_i, *node;
if (maxnames == 0)
@@ -2920,16 +2920,15 @@ xenDaemonListDefinedDomains(virConnectPtr conn,
break;
}
- ret = 0;
-
cleanup:
sexpr_free(root);
return ret;
error:
- for (i = 0; ret != -1 && i < ret; ++i)
+ for (i = 0; i < ret; ++i)
VIR_FREE(names[i]);
+ ret = -1;
goto cleanup;
}

View File

@ -1,89 +0,0 @@
From ba3daaef85007c5ef48c0057284654cd22c168f7 Mon Sep 17 00:00:00 2001
From: Laine Stump <laine@laine.org>
Date: Fri, 2 Aug 2013 04:13:33 -0400
Subject: [PATCH] conf: add default USB controller in qemu post-parse callback
The parser shouldn't be doing arch-specific things like adding in
implicit controllers to the config. This should instead be done in the
hypervisor's post-parse callback.
This patch removes the auto-add of a usb controller from the domain
parser, and puts it into the qemu driver's post-parse callback (just
as is already done with the auto-add of the pci-root controller). In
the future, any machine/arch that shouldn't have a default usb
controller added should just set addDefaultUSB = false in this
function.
We've recently seen that q35 and ARMV7L domains shouldn't get a default USB
controller, so I've set addDefaultUSB to false for both of those.
(cherry picked from commit c66da9d224ffba1d972beaf049c00dbebda4e8ea)
---
src/conf/domain_conf.c | 6 ------
src/qemu/qemu_domain.c | 14 +++++++++++++-
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 783df96..18c6acf 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -11718,12 +11718,6 @@ virDomainDefParseXML(xmlDocPtr xml,
goto error;
}
- if (def->virtType == VIR_DOMAIN_VIRT_QEMU ||
- def->virtType == VIR_DOMAIN_VIRT_KQEMU ||
- def->virtType == VIR_DOMAIN_VIRT_KVM)
- if (virDomainDefMaybeAddController(def, VIR_DOMAIN_CONTROLLER_TYPE_USB, 0, -1) < 0)
- goto error;
-
/* analysis of the resource leases */
if ((n = virXPathNodeSet("./devices/lease", ctxt, &nodes)) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index da3b768..648121a 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -699,6 +699,7 @@ qemuDomainDefPostParse(virDomainDefPtr def,
virCapsPtr caps,
void *opaque ATTRIBUTE_UNUSED)
{
+ bool addDefaultUSB = true;
bool addPCIRoot = false;
/* check for emulator and create a default one if needed */
@@ -714,8 +715,10 @@ qemuDomainDefPostParse(virDomainDefPtr def,
break;
if (STRPREFIX(def->os.machine, "pc-q35") ||
STREQ(def->os.machine, "q35") ||
- STREQ(def->os.machine, "isapc"))
+ STREQ(def->os.machine, "isapc")) {
+ addDefaultUSB = false;
break;
+ }
if (!STRPREFIX(def->os.machine, "pc-0.") &&
!STRPREFIX(def->os.machine, "pc-1.") &&
!STRPREFIX(def->os.machine, "pc-i440") &&
@@ -725,6 +728,10 @@ qemuDomainDefPostParse(virDomainDefPtr def,
addPCIRoot = true;
break;
+ case VIR_ARCH_ARMV7L:
+ addDefaultUSB = false;
+ break;
+
case VIR_ARCH_ALPHA:
case VIR_ARCH_PPC:
case VIR_ARCH_PPC64:
@@ -737,6 +744,11 @@ qemuDomainDefPostParse(virDomainDefPtr def,
break;
}
+ if (addDefaultUSB &&
+ virDomainDefMaybeAddController(
+ def, VIR_DOMAIN_CONTROLLER_TYPE_USB, 0, -1) < 0)
+ return -1;
+
if (addPCIRoot &&
virDomainDefMaybeAddController(
def, VIR_DOMAIN_CONTROLLER_TYPE_PCI, 0,

View File

@ -0,0 +1,81 @@
From 79c38961565eb2d352f101cbd6806314894614cb Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Fri, 30 Aug 2013 12:41:30 -0400
Subject: [PATCH 2/8] domain_conf: Add default memballoon in PostParse
callbacks
This should be a no-op change for now.
---
src/conf/domain_conf.c | 13 -------------
src/qemu/qemu_domain.c | 10 ++++++++++
src/xen/xen_driver.c | 9 +++++++++
3 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index f8fbf79..fafbb89 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -12184,19 +12184,6 @@ virDomainDefParseXML(xmlDocPtr xml,
def->memballoon = memballoon;
VIR_FREE(nodes);
- } else {
- if (def->virtType == VIR_DOMAIN_VIRT_XEN ||
- def->virtType == VIR_DOMAIN_VIRT_QEMU ||
- def->virtType == VIR_DOMAIN_VIRT_KQEMU ||
- def->virtType == VIR_DOMAIN_VIRT_KVM) {
- virDomainMemballoonDefPtr memballoon;
- if (VIR_ALLOC(memballoon) < 0)
- goto error;
- memballoon->model = def->virtType == VIR_DOMAIN_VIRT_XEN ?
- VIR_DOMAIN_MEMBALLOON_MODEL_XEN :
- VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO;
- def->memballoon = memballoon;
- }
}
/* Parse the RNG device */
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 7f4d17d..9260301 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -784,6 +784,16 @@ qemuDomainDefPostParse(virDomainDefPtr def,
return -1;
}
}
+
+ if (!def->memballoon) {
+ virDomainMemballoonDefPtr memballoon;
+ if (VIR_ALLOC(memballoon) < 0)
+ return -1;
+
+ memballoon->model = VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO;
+ def->memballoon = memballoon;
+ }
+
return 0;
}
diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index cb64de6..6cb4f4f 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -340,6 +340,15 @@ xenDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
STRNEQ(def->os.type, "hvm"))
dev->data.chr->targetType = VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_XEN;
+ if (!def->memballoon) {
+ virDomainMemballoonDefPtr memballoon;
+ if (VIR_ALLOC(memballoon) < 0)
+ return -1;
+
+ memballoon->model = VIR_DOMAIN_MEMBALLOON_MODEL_XEN;
+ def->memballoon = memballoon;
+ }
+
return 0;
}
--
1.8.3.1

View File

@ -1,26 +1,25 @@
From 56aa5100965134dcc9773dcb47c2cf88b26717f9 Mon Sep 17 00:00:00 2001
From 5ed47b89c6cb59c9ec5169bcc99a67e9a75fb2af Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Tue, 30 Jul 2013 15:41:14 -0400
Subject: [PATCH] qemu: Don't add default memballoon device on ARM
Date: Fri, 30 Aug 2013 12:41:31 -0400
Subject: [PATCH 3/8] qemu: Don't add default memballoon device on ARM
And add test cases for a basic working ARM guest.
---
docs/schemas/domaincommon.rng | 19 +++++++++++++
src/conf/domain_conf.c | 14 ---------
src/qemu/qemu_domain.c | 4 ++-
.../qemuxml2argv-arm-vexpressa9-nodevs.args | 5 ++++
.../qemuxml2argv-arm-vexpressa9-nodevs.xml | 26 +++++++++++++++++
tests/qemuxml2argvtest.c | 3 ++
tests/testutilsqemu.c | 33 ++++++++++++++++++++++
7 files changed, 89 insertions(+), 15 deletions(-)
6 files changed, 89 insertions(+), 1 deletion(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-nodevs.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-nodevs.xml
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 745b959..781ecfd 100644
index 6978dc7..68c3e4d 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -303,6 +303,7 @@
@@ -304,6 +304,7 @@
<ref name="hvmppc"/>
<ref name="hvmppc64"/>
<ref name="hvms390"/>
@ -28,7 +27,7 @@ index 745b959..781ecfd 100644
</choice>
</optional>
<value>hvm</value>
@@ -412,6 +413,24 @@
@@ -413,6 +414,24 @@
</optional>
</group>
</define>
@ -53,51 +52,19 @@ index 745b959..781ecfd 100644
<define name="osexe">
<element name="os">
<element name="type">
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 18c6acf..8ede44d 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -8801,7 +8801,6 @@ virDomainVideoDefaultRAM(virDomainDefPtr def,
}
}
-
int
virDomainVideoDefaultType(virDomainDefPtr def)
{
@@ -12136,19 +12135,6 @@ virDomainDefParseXML(xmlDocPtr xml,
def->memballoon = memballoon;
VIR_FREE(nodes);
- } else {
- if (def->virtType == VIR_DOMAIN_VIRT_XEN ||
- def->virtType == VIR_DOMAIN_VIRT_QEMU ||
- def->virtType == VIR_DOMAIN_VIRT_KQEMU ||
- def->virtType == VIR_DOMAIN_VIRT_KVM) {
- virDomainMemballoonDefPtr memballoon;
- if (VIR_ALLOC(memballoon) < 0)
- goto error;
- memballoon->model = def->virtType == VIR_DOMAIN_VIRT_XEN ?
- VIR_DOMAIN_MEMBALLOON_MODEL_XEN :
- VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO;
- def->memballoon = memballoon;
- }
}
/* Parse the RNG device */
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index dc7ab3e..36df403 100644
index 9260301..cff6d70 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -701,6 +701,7 @@ qemuDomainDefPostParse(virDomainDefPtr def,
{
bool addDefaultUSB = true;
@@ -703,6 +703,7 @@ qemuDomainDefPostParse(virDomainDefPtr def,
bool addImplicitSATA = false;
bool addPCIRoot = false;
bool addPCIeRoot = false;
+ bool addDefaultMemballoon = true;
/* check for emulator and create a default one if needed */
if (!def->emulator &&
@@ -730,6 +731,7 @@ qemuDomainDefPostParse(virDomainDefPtr def,
@@ -737,6 +738,7 @@ qemuDomainDefPostParse(virDomainDefPtr def,
case VIR_ARCH_ARMV7L:
addDefaultUSB = false;
@ -105,9 +72,9 @@ index dc7ab3e..36df403 100644
break;
case VIR_ARCH_ALPHA:
@@ -755,7 +757,7 @@ qemuDomainDefPostParse(virDomainDefPtr def,
VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT) < 0)
return -1;
@@ -785,7 +787,7 @@ qemuDomainDefPostParse(virDomainDefPtr def,
}
}
- if (!def->memballoon) {
+ if (addDefaultMemballoon && !def->memballoon) {
@ -158,12 +125,12 @@ index 0000000..3f318c8
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index b7485fc..361ddb8 100644
index 4e3508b..cb6106f 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1027,6 +1027,9 @@ mymain(void)
DO_TEST_PARSE_ERROR("pci-root-address",
QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE);
@@ -1057,6 +1057,9 @@ mymain(void)
QEMU_CAPS_VGA_QXL, QEMU_CAPS_DEVICE_QXL,
QEMU_CAPS_Q35_PCI_HOLE64_SIZE);
+ DO_TEST("arm-vexpressa9-nodevs",
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB);
@ -222,3 +189,6 @@ index fac83b2..92433ef 100644
if (virTestGetDebug()) {
char *caps_str;
--
1.8.3.1

View File

@ -1,300 +0,0 @@
From b90db10aa95fe048b039e2605884c300a1e00726 Mon Sep 17 00:00:00 2001
From: Laine Stump <laine@laine.org>
Date: Fri, 26 Jul 2013 21:04:18 -0400
Subject: [PATCH] qemu: rename some functions in qemu_command.c
* qemuDomainPCIAddressSetNextAddr
The name of this function was confusing because 1) other functions in
the file that end in "Addr" are only operating on a single function of
one PCI slot, not the entire slot, while functions that do something
with the entire slot end in "Slot", and 2) it didn't contain a verb
describing what it is doing (the "Set" refers to the set that contains
all PCI buses in the system, used to keep track of which slots in
which buses are already reserved for use).
It is now renamed to qemuDomainPCIAddressReserveNextSlot, which more
clearly describes what it is doing. Arguably, it could have been
changed to qemuDomainPCIAddressSetReserveNextSlot, but 1) the word
"set" is confusing in this context because it could be intended as a
verb or as a noun, and 2) most other functions that operate on a
single slot or address within this set are also named
qemuDomainPCIAddress... rather than qemuDomainPCIAddressSet... Only
the Create, Free, and Grow functions for an address set (which modify the
entire set, not just one element) use "Set" in their name.
* qemuPCIAddressAsString, qemuPCIAddressValidate
All the other functions in this set are named
qemuDomainPCIAddressxxxxx, so I renamed these to be consistent.
(cherry picked from commit 29e3a1df474aeb35b5eeca4930e7748cd2664472)
---
src/qemu/qemu_command.c | 78 ++++++++++++++++++++++++++++++-------------------
src/qemu/qemu_command.h | 6 ++--
2 files changed, 51 insertions(+), 33 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index aa3a2fd..4345456 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -1439,9 +1439,9 @@ struct _qemuDomainPCIAddressSet {
* with the specified PCI address set.
*/
static bool
-qemuPCIAddressValidate(qemuDomainPCIAddressSetPtr addrs ATTRIBUTE_UNUSED,
- virDevicePCIAddressPtr addr,
- qemuDomainPCIConnectFlags flags)
+qemuDomainPCIAddressValidate(qemuDomainPCIAddressSetPtr addrs,
+ virDevicePCIAddressPtr addr,
+ qemuDomainPCIConnectFlags flags)
{
qemuDomainPCIAddressBusPtr bus;
@@ -1578,7 +1578,7 @@ qemuDomainPCIAddressSetGrow(qemuDomainPCIAddressSetPtr addrs,
static char *
-qemuPCIAddressAsString(virDevicePCIAddressPtr addr)
+qemuDomainPCIAddressAsString(virDevicePCIAddressPtr addr)
{
char *str;
@@ -1648,10 +1648,10 @@ qemuCollectPCIAddress(virDomainDefPtr def ATTRIBUTE_UNUSED,
* that the bus is of the correct type for the device (via
* comparing the flags).
*/
- if (!qemuPCIAddressValidate(addrs, addr, flags))
+ if (!qemuDomainPCIAddressValidate(addrs, addr, flags))
return -1;
- if (!(str = qemuPCIAddressAsString(addr)))
+ if (!(str = qemuDomainPCIAddressAsString(addr)))
goto cleanup;
/* check if already in use */
@@ -1729,7 +1729,7 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
if (qemuAssignDevicePCISlots(def, qemuCaps, addrs) < 0)
goto cleanup;
/* Reserve 1 extra slot for a (potential) bridge */
- if (qemuDomainPCIAddressSetNextAddr(addrs, &info, flags) < 0)
+ if (qemuDomainPCIAddressReserveNextSlot(addrs, &info, flags) < 0)
goto cleanup;
for (i = 1; i < addrs->nbuses; i++) {
@@ -1740,7 +1740,8 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
i, bus->model)) < 0)
goto cleanup;
/* If we added a new bridge, we will need one more address */
- if (rv > 0 && qemuDomainPCIAddressSetNextAddr(addrs, &info, flags) < 0)
+ if (rv > 0 && qemuDomainPCIAddressReserveNextSlot(addrs, &info,
+ flags) < 0)
goto cleanup;
}
nbuses = addrs->nbuses;
@@ -1881,7 +1882,7 @@ qemuDomainPCIAddressReserveAddr(qemuDomainPCIAddressSetPtr addrs,
if (addrs->dryRun && qemuDomainPCIAddressSetGrow(addrs, addr, flags) < 0)
return -1;
- if (!(str = qemuPCIAddressAsString(addr)))
+ if (!(str = qemuDomainPCIAddressAsString(addr)))
return -1;
VIR_DEBUG("Reserving PCI addr %s", str);
@@ -1923,7 +1924,7 @@ qemuDomainPCIAddressReserveSlot(qemuDomainPCIAddressSetPtr addrs,
if (addrs->dryRun && qemuDomainPCIAddressSetGrow(addrs, addr, flags) < 0)
return -1;
- if (!(str = qemuPCIAddressAsString(addr)))
+ if (!(str = qemuDomainPCIAddressAsString(addr)))
return -1;
VIR_DEBUG("Reserving PCI slot %s", str);
@@ -1959,12 +1960,12 @@ int qemuDomainPCIAddressEnsureAddr(qemuDomainPCIAddressSetPtr addrs,
return -1;
}
- if (!qemuPCIAddressValidate(addrs, &dev->addr.pci, flags))
+ if (!qemuDomainPCIAddressValidate(addrs, &dev->addr.pci, flags))
return -1;
ret = qemuDomainPCIAddressReserveSlot(addrs, &dev->addr.pci, flags);
} else {
- ret = qemuDomainPCIAddressSetNextAddr(addrs, dev, flags);
+ ret = qemuDomainPCIAddressReserveNextSlot(addrs, dev, flags);
}
return ret;
}
@@ -1986,7 +1987,7 @@ qemuDomainPCIAddressReleaseSlot(qemuDomainPCIAddressSetPtr addrs,
*/
qemuDomainPCIConnectFlags flags = QEMU_PCI_CONNECT_TYPES_MASK;
- if (!qemuPCIAddressValidate(addrs, addr, flags))
+ if (!qemuDomainPCIAddressValidate(addrs, addr, flags))
return -1;
addrs->buses[addr->bus].slots[addr->slot] = 0;
@@ -2059,9 +2060,9 @@ success:
}
int
-qemuDomainPCIAddressSetNextAddr(qemuDomainPCIAddressSetPtr addrs,
- virDomainDeviceInfoPtr dev,
- qemuDomainPCIConnectFlags flags)
+qemuDomainPCIAddressReserveNextSlot(qemuDomainPCIAddressSetPtr addrs,
+ virDomainDeviceInfoPtr dev,
+ qemuDomainPCIConnectFlags flags)
{
virDevicePCIAddress addr;
if (qemuDomainPCIAddressGetNextSlot(addrs, &addr, flags) < 0)
@@ -2188,14 +2189,16 @@ qemuValidateDevicePCISlotsPIIX3(virDomainDefPtr def,
primaryVideo->info.addr.pci.function = 0;
addrptr = &primaryVideo->info.addr.pci;
- if (!qemuPCIAddressValidate(addrs, addrptr, flags))
+ if (!qemuDomainPCIAddressValidate(addrs, addrptr, flags))
goto error;
if (qemuDomainPCIAddressSlotInUse(addrs, addrptr)) {
if (qemuDeviceVideoUsable) {
virResetLastError();
- if (qemuDomainPCIAddressSetNextAddr(addrs, &primaryVideo->info, flags) < 0)
- goto error;;
+ if (qemuDomainPCIAddressReserveNextSlot(addrs,
+ &primaryVideo->info,
+ flags) < 0)
+ goto error;
} else {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("PCI address 0:0:2.0 is in use, "
@@ -2296,7 +2299,9 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
continue;
if (def->controllers[i]->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE)
continue;
- if (qemuDomainPCIAddressSetNextAddr(addrs, &def->controllers[i]->info, flags) < 0)
+ if (qemuDomainPCIAddressReserveNextSlot(addrs,
+ &def->controllers[i]->info,
+ flags) < 0)
goto error;
}
}
@@ -2307,7 +2312,8 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
/* Only support VirtIO-9p-pci so far. If that changes,
* we might need to skip devices here */
- if (qemuDomainPCIAddressSetNextAddr(addrs, &def->fss[i]->info, flags) < 0)
+ if (qemuDomainPCIAddressReserveNextSlot(addrs, &def->fss[i]->info,
+ flags) < 0)
goto error;
}
@@ -2321,7 +2327,8 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
(def->nets[i]->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE)) {
continue;
}
- if (qemuDomainPCIAddressSetNextAddr(addrs, &def->nets[i]->info, flags) < 0)
+ if (qemuDomainPCIAddressReserveNextSlot(addrs, &def->nets[i]->info,
+ flags) < 0)
goto error;
}
@@ -2334,7 +2341,8 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
def->sounds[i]->model == VIR_DOMAIN_SOUND_MODEL_PCSPK)
continue;
- if (qemuDomainPCIAddressSetNextAddr(addrs, &def->sounds[i]->info, flags) < 0)
+ if (qemuDomainPCIAddressReserveNextSlot(addrs, &def->sounds[i]->info,
+ flags) < 0)
goto error;
}
@@ -2409,7 +2417,9 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
def->controllers[i]->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI;
def->controllers[i]->info.addr.pci = addr;
} else {
- if (qemuDomainPCIAddressSetNextAddr(addrs, &def->controllers[i]->info, flags) < 0)
+ if (qemuDomainPCIAddressReserveNextSlot(addrs,
+ &def->controllers[i]->info,
+ flags) < 0)
goto error;
}
}
@@ -2434,7 +2444,8 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
goto error;
}
- if (qemuDomainPCIAddressSetNextAddr(addrs, &def->disks[i]->info, flags) < 0)
+ if (qemuDomainPCIAddressReserveNextSlot(addrs, &def->disks[i]->info,
+ flags) < 0)
goto error;
}
@@ -2446,7 +2457,9 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
def->hostdevs[i]->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI)
continue;
- if (qemuDomainPCIAddressSetNextAddr(addrs, def->hostdevs[i]->info, flags) < 0)
+ if (qemuDomainPCIAddressReserveNextSlot(addrs,
+ def->hostdevs[i]->info,
+ flags) < 0)
goto error;
}
@@ -2454,7 +2467,9 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
if (def->memballoon &&
def->memballoon->model == VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO &&
def->memballoon->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) {
- if (qemuDomainPCIAddressSetNextAddr(addrs, &def->memballoon->info, flags) < 0)
+ if (qemuDomainPCIAddressReserveNextSlot(addrs,
+ &def->memballoon->info,
+ flags) < 0)
goto error;
}
@@ -2462,7 +2477,8 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
if (def->rng &&
def->rng->model == VIR_DOMAIN_RNG_MODEL_VIRTIO &&
def->rng->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) {
- if (qemuDomainPCIAddressSetNextAddr(addrs, &def->rng->info, flags) < 0)
+ if (qemuDomainPCIAddressReserveNextSlot(addrs,
+ &def->rng->info, flags) < 0)
goto error;
}
@@ -2470,7 +2486,8 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
if (def->watchdog &&
def->watchdog->model != VIR_DOMAIN_WATCHDOG_MODEL_IB700 &&
def->watchdog->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) {
- if (qemuDomainPCIAddressSetNextAddr(addrs, &def->watchdog->info, flags) < 0)
+ if (qemuDomainPCIAddressReserveNextSlot(addrs, &def->watchdog->info,
+ flags) < 0)
goto error;
}
@@ -2483,7 +2500,8 @@ qemuAssignDevicePCISlots(virDomainDefPtr def,
}
if (def->videos[i]->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE)
continue;
- if (qemuDomainPCIAddressSetNextAddr(addrs, &def->videos[i]->info, flags) < 0)
+ if (qemuDomainPCIAddressReserveNextSlot(addrs, &def->videos[i]->info,
+ flags) < 0)
goto error;
}
for (i = 0; i < def->ninputs; i++) {
diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h
index 2b02d6e..c9f1600 100644
--- a/src/qemu/qemu_command.h
+++ b/src/qemu/qemu_command.h
@@ -254,9 +254,9 @@ int qemuDomainPCIAddressReserveSlot(qemuDomainPCIAddressSetPtr addrs,
int qemuDomainPCIAddressReserveAddr(qemuDomainPCIAddressSetPtr addrs,
virDevicePCIAddressPtr addr,
qemuDomainPCIConnectFlags flags);
-int qemuDomainPCIAddressSetNextAddr(qemuDomainPCIAddressSetPtr addrs,
- virDomainDeviceInfoPtr dev,
- qemuDomainPCIConnectFlags flags);
+int qemuDomainPCIAddressReserveNextSlot(qemuDomainPCIAddressSetPtr addrs,
+ virDomainDeviceInfoPtr dev,
+ qemuDomainPCIConnectFlags flags);
int qemuDomainPCIAddressEnsureAddr(qemuDomainPCIAddressSetPtr addrs,
virDomainDeviceInfoPtr dev);
int qemuDomainPCIAddressReleaseAddr(qemuDomainPCIAddressSetPtr addrs,

View File

@ -1,7 +1,7 @@
From 2797780706ba62cff67540be18e59d0fd6438389 Mon Sep 17 00:00:00 2001
From 20f2f4c07d8e8d4373094473114ae16909fe4005 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Tue, 30 Jul 2013 17:49:11 -0400
Subject: [PATCH] qemu: Fix adding specifying char devs for ARM
Date: Fri, 30 Aug 2013 12:41:32 -0400
Subject: [PATCH 4/8] qemu: Fix specifying char devs for ARM
QEMU ARM boards don't give us any way to explicitly wire in
a -chardev, so use the old style -serial options.
@ -16,10 +16,10 @@ for qemu-system-arm, as upcoming virtio support _will_ use device/chardev.
4 files changed, 45 insertions(+), 17 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 08406b8..5c8316f 100644
index 7888e2d..72df793 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -2810,3 +2810,21 @@ virQEMUCapsUsedQMP(virQEMUCapsPtr qemuCaps)
@@ -2827,3 +2827,21 @@ virQEMUCapsUsedQMP(virQEMUCapsPtr qemuCaps)
{
return qemuCaps->usedQMP;
}
@ -42,10 +42,10 @@ index 08406b8..5c8316f 100644
+ return true;
+}
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index f5f685d..56f8405 100644
index 69f3395..5180ee9 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -272,4 +272,8 @@ int virQEMUCapsParseDeviceStr(virQEMUCapsPtr qemuCaps, const char *str);
@@ -275,4 +275,8 @@ int virQEMUCapsParseDeviceStr(virQEMUCapsPtr qemuCaps, const char *str);
VIR_ENUM_DECL(virQEMUCaps);
bool virQEMUCapsUsedQMP(virQEMUCapsPtr qemuCaps);
@ -55,10 +55,10 @@ index f5f685d..56f8405 100644
+
#endif /* __QEMU_CAPABILITIES_H__*/
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 6710bf0..e6000d9 100644
index 9dfdb73..a8e532c 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7996,8 +7996,7 @@ qemuBuildCommandLine(virConnectPtr conn,
@@ -8493,8 +8493,7 @@ qemuBuildCommandLine(virConnectPtr conn,
char *devstr;
/* Use -chardev with -device if they are available */
@ -69,10 +69,10 @@ index 6710bf0..e6000d9 100644
if (!(devstr = qemuBuildChrChardevStr(&serial->source,
serial->info.alias,
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index d631a6f..57036e8 100644
index dfe8142..abe0060 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -1583,22 +1583,25 @@ qemuProcessExtractTTYPath(const char *haystack,
@@ -1604,22 +1604,25 @@ qemuProcessExtractTTYPath(const char *haystack,
}
static int
@ -103,7 +103,7 @@ index d631a6f..57036e8 100644
return -1;
path = (const char *) virHashLookup(paths, id);
@@ -1632,19 +1635,21 @@ qemuProcessFindCharDevicePTYsMonitor(virDomainObjPtr vm,
@@ -1653,19 +1656,21 @@ qemuProcessFindCharDevicePTYsMonitor(virDomainObjPtr vm,
virQEMUCapsPtr qemuCaps,
virHashTablePtr paths)
{
@ -132,7 +132,7 @@ index d631a6f..57036e8 100644
return -1;
/* For historical reasons, console[0] can be just an alias
* for serial[0]. That's why we need to update it as well. */
@@ -1662,8 +1667,9 @@ qemuProcessFindCharDevicePTYsMonitor(virDomainObjPtr vm,
@@ -1683,8 +1688,9 @@ qemuProcessFindCharDevicePTYsMonitor(virDomainObjPtr vm,
}
}
@ -144,7 +144,7 @@ index d631a6f..57036e8 100644
return -1;
return 0;
@@ -1753,7 +1759,8 @@ qemuProcessWaitForMonitor(virQEMUDriverPtr driver,
@@ -1774,7 +1780,8 @@ qemuProcessWaitForMonitor(virQEMUDriverPtr driver,
virHashTablePtr paths = NULL;
qemuDomainObjPrivatePtr priv;
@ -154,3 +154,6 @@ index d631a6f..57036e8 100644
if ((logfd = qemuDomainOpenLog(driver, vm, pos)) < 0)
return -1;
--
1.8.3.1

View File

@ -1,17 +1,17 @@
From d859b21108e4d45a7851c2be0a61895da66159a2 Mon Sep 17 00:00:00 2001
From 5772cbdfb807842685d05665f285745ca79acc89 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Tue, 30 Jul 2013 18:56:15 -0400
Subject: [PATCH] qemu: Don't try to allocate PCI addresses for ARM
Date: Fri, 30 Aug 2013 12:41:33 -0400
Subject: [PATCH 5/8] qemu: Don't try to allocate PCI addresses for ARM
---
src/qemu/qemu_command.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index e6000d9..66b02fc 100644
index a8e532c..87345c7 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -1694,6 +1694,16 @@ cleanup:
@@ -1773,6 +1773,16 @@ cleanup:
return ret;
}
@ -28,7 +28,7 @@ index e6000d9..66b02fc 100644
int
qemuDomainAssignPCIAddresses(virDomainDefPtr def,
@@ -1760,8 +1770,10 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
@@ -1838,8 +1848,10 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
if (!(addrs = qemuDomainPCIAddressSetCreate(def, nbuses, false)))
goto cleanup;
@ -41,3 +41,6 @@ index e6000d9..66b02fc 100644
}
if (obj && obj->privateData) {
--
1.8.3.1

View File

@ -1,31 +0,0 @@
From 9475a3ba1e808aa3fe1a975e98bcd1ac7a660d01 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Wed, 31 Jul 2013 21:37:40 -0400
Subject: [PATCH] qemu: Only setup vhost if virtType == "kvm"
vhost only works in KVM mode at the moment, and is infact compiled
out if the emulator is built for non-native architecture. While it
may work at some point in the future for plain qemu, for now it's
just noise on the command line (and which contributes to arm cli
breakage).
---
src/qemu/qemu_command.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index d968333..6710bf0 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -441,8 +441,10 @@ qemuOpenVhostNet(virDomainDefPtr def,
{
size_t i;
- /* If the config says explicitly to not use vhost, return now */
- if (net->driver.virtio.name == VIR_DOMAIN_NET_BACKEND_TYPE_QEMU) {
+ /* If running a plain QEMU guest, or
+ * if the config says explicitly to not use vhost, return now*/
+ if (def->virtType != VIR_DOMAIN_VIRT_KVM ||
+ net->driver.virtio.name == VIR_DOMAIN_NET_BACKEND_TYPE_QEMU) {
*vhostfdSize = 0;
return 0;
}

View File

@ -1,51 +0,0 @@
From a9d7a8a2f604f30f4769cdfe62a36aba28ce7368 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Fri, 16 Aug 2013 20:33:23 -0400
Subject: [PATCH] domain_conf: Add default memballon in PostParse callbacks
This should be a no-op change for now.
---
src/qemu/qemu_domain.c | 9 +++++++++
src/xen/xen_driver.c | 9 +++++++++
2 files changed, 18 insertions(+)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 648121a..dc7ab3e 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -755,6 +755,15 @@ qemuDomainDefPostParse(virDomainDefPtr def,
VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT) < 0)
return -1;
+ if (!def->memballoon) {
+ virDomainMemballoonDefPtr memballoon;
+ if (VIR_ALLOC(memballoon) < 0)
+ return -1;
+
+ memballoon->model = VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO;
+ def->memballoon = memballoon;
+ }
+
return 0;
}
diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 4ae38d3..780230f 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -330,6 +330,15 @@ xenDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
STRNEQ(def->os.type, "hvm"))
dev->data.chr->targetType = VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_XEN;
+ if (!def->memballoon) {
+ virDomainMemballoonDefPtr memballoon;
+ if (VIR_ALLOC(memballoon) < 0)
+ return -1;
+
+ memballoon->model = VIR_DOMAIN_MEMBALLOON_MODEL_XEN;
+ def->memballoon = memballoon;
+ }
+
return 0;
}

View File

@ -1,7 +1,7 @@
From a0d15c46d153d5574f68e18ea2f027cdb98e9390 Mon Sep 17 00:00:00 2001
From 019eccdb20e824aabb12da3699664ba2625ef4b4 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Wed, 31 Jul 2013 09:00:26 -0400
Subject: [PATCH] domain_conf: Add disk bus=sd, wire it up for qemu
Date: Fri, 30 Aug 2013 12:41:34 -0400
Subject: [PATCH 6/8] domain_conf: Add disk bus=sd, wire it up for qemu
This corresponds to '-sd' and '-drive if=sd' on the qemu command line.
Needed for many ARM boards which don't provide any other way to
@ -15,10 +15,10 @@ pass in storage.
5 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 78e132e..1314806 100644
index cce179d..af9b4ae 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -1660,7 +1660,8 @@
@@ -1785,7 +1785,8 @@
as a device ordering hint. The optional <code>bus</code>
attribute specifies the type of disk device to emulate;
possible values are driver specific, with typical values being
@ -29,10 +29,10 @@ index 78e132e..1314806 100644
'sda' will typically be exported using a SCSI bus). The optional
attribute <code>tray</code> indicates the tray status of the
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 781ecfd..4f4564b 100644
index 68c3e4d..79ea746 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -1286,6 +1286,7 @@
@@ -1295,6 +1295,7 @@
<value>usb</value>
<value>uml</value>
<value>sata</value>
@ -41,7 +41,7 @@ index 781ecfd..4f4564b 100644
</attribute>
</optional>
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 8ede44d..5485d86 100644
index fafbb89..2c62a2d 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -239,7 +239,8 @@ VIR_ENUM_IMPL(virDomainDiskBus, VIR_DOMAIN_DISK_BUS_LAST,
@ -54,7 +54,7 @@ index 8ede44d..5485d86 100644
VIR_ENUM_IMPL(virDomainDiskCache, VIR_DOMAIN_DISK_CACHE_LAST,
"default",
@@ -17227,6 +17228,7 @@ virDiskNameToBusDeviceIndex(const virDomainDiskDefPtr disk,
@@ -17308,6 +17309,7 @@ virDiskNameToBusDeviceIndex(const virDomainDiskDefPtr disk,
case VIR_DOMAIN_DISK_BUS_USB:
case VIR_DOMAIN_DISK_BUS_VIRTIO:
case VIR_DOMAIN_DISK_BUS_XEN:
@ -63,10 +63,10 @@ index 8ede44d..5485d86 100644
*busIdx = 0;
*devIdx = idx;
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index abf024c..cf075e1 100644
index 56739b7..380e2bb 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -508,6 +508,7 @@ enum virDomainDiskBus {
@@ -509,6 +509,7 @@ enum virDomainDiskBus {
VIR_DOMAIN_DISK_BUS_USB,
VIR_DOMAIN_DISK_BUS_UML,
VIR_DOMAIN_DISK_BUS_SATA,
@ -75,7 +75,7 @@ index abf024c..cf075e1 100644
VIR_DOMAIN_DISK_BUS_LAST
};
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 66b02fc..d4ab1a6 100644
index 87345c7..6733709 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -73,7 +73,8 @@ VIR_ENUM_IMPL(virDomainDiskQEMUBus, VIR_DOMAIN_DISK_BUS_LAST,
@ -98,7 +98,7 @@ index 66b02fc..d4ab1a6 100644
default:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Unsupported disk name mapping for bus '%s'"),
@@ -3406,7 +3410,9 @@ qemuBuildDriveStr(virConnectPtr conn ATTRIBUTE_UNUSED,
@@ -3786,7 +3790,9 @@ qemuBuildDriveStr(virConnectPtr conn ATTRIBUTE_UNUSED,
break;
case VIR_DOMAIN_DISK_BUS_XEN:
@ -109,7 +109,7 @@ index 66b02fc..d4ab1a6 100644
break;
}
@@ -7693,12 +7699,13 @@ qemuBuildCommandLine(virConnectPtr conn,
@@ -8190,12 +8196,13 @@ qemuBuildCommandLine(virConnectPtr conn,
virCommandAddArg(cmd, "-drive");
/* Unfortunately it is not possible to use
@ -125,7 +125,7 @@ index 66b02fc..d4ab1a6 100644
withDeviceArg = true;
} else {
virQEMUCapsClear(qemuCaps, QEMU_CAPS_DEVICE);
@@ -9383,6 +9390,8 @@ qemuParseCommandLineDisk(virDomainXMLOptionPtr xmlopt,
@@ -9892,6 +9899,8 @@ qemuParseCommandLineDisk(virDomainXMLOptionPtr xmlopt,
def->bus = VIR_DOMAIN_DISK_BUS_VIRTIO;
else if (STREQ(values[i], "xen"))
def->bus = VIR_DOMAIN_DISK_BUS_XEN;
@ -134,7 +134,7 @@ index 66b02fc..d4ab1a6 100644
} else if (STREQ(keywords[i], "media")) {
if (STREQ(values[i], "cdrom")) {
def->device = VIR_DOMAIN_DISK_DEVICE_CDROM;
@@ -9532,7 +9541,8 @@ qemuParseCommandLineDisk(virDomainXMLOptionPtr xmlopt,
@@ -10041,7 +10050,8 @@ qemuParseCommandLineDisk(virDomainXMLOptionPtr xmlopt,
if (def->bus == VIR_DOMAIN_DISK_BUS_IDE) {
ignore_value(VIR_STRDUP(def->dst, "hda"));
@ -144,3 +144,6 @@ index 66b02fc..d4ab1a6 100644
ignore_value(VIR_STRDUP(def->dst, "sda"));
} else if (def->bus == VIR_DOMAIN_DISK_BUS_VIRTIO) {
ignore_value(VIR_STRDUP(def->dst, "vda"));
--
1.8.3.1

View File

@ -1,7 +1,7 @@
From 2661a048446d64fa0e4f6516ca7295e6087b5ec7 Mon Sep 17 00:00:00 2001
From 7a73b81f1021c76d02fe54f927cd033fe949590f Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Tue, 30 Jul 2013 18:51:30 -0400
Subject: [PATCH] qemu: Fix networking for ARM guests
Date: Fri, 30 Aug 2013 12:41:35 -0400
Subject: [PATCH 7/8] qemu: Fix networking for ARM guests
Similar to the chardev bit, ARM boards depend on the old style '-net nic'
for actually instantiating net devices. But we can't block out
@ -19,7 +19,7 @@ And add tests for working ARM XML with console, disk, and networking.
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-basic.xml
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index d4ab1a6..1d57ccc 100644
index 6733709..787381b 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -417,6 +417,26 @@ cleanup:
@ -59,7 +59,7 @@ index d4ab1a6..1d57ccc 100644
if (net->driver.virtio.name == VIR_DOMAIN_NET_BACKEND_TYPE_VHOST) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
"%s", _("vhost-net is not supported with "
@@ -6872,8 +6891,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
@@ -7312,8 +7331,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
*
* NB, no support for -netdev without use of -device
*/
@ -69,16 +69,16 @@ index d4ab1a6..1d57ccc 100644
if (!(host = qemuBuildHostNetStr(net, driver,
',', vlan,
tapfdName, tapfdSize,
@@ -6881,7 +6899,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
@@ -7321,7 +7339,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
goto cleanup;
virCommandAddArgList(cmd, "-netdev", host, NULL);
}
- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
+ if (qemuDomainSupportsNicdev(def, qemuCaps)) {
if (!(nic = qemuBuildNicDevStr(net, vlan, bootindex, qemuCaps)))
goto cleanup;
virCommandAddArgList(cmd, "-device", nic, NULL);
@@ -6890,8 +6908,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
bool multiqueue = tapfdSize > 1 || vhostfdSize > 1;
if (!(nic = qemuBuildNicDevStr(def, net, vlan, bootindex,
@@ -7333,8 +7351,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
goto cleanup;
virCommandAddArgList(cmd, "-net", nic, NULL);
}
@ -88,7 +88,7 @@ index d4ab1a6..1d57ccc 100644
if (!(host = qemuBuildHostNetStr(net, driver,
',', vlan,
tapfdName, tapfdSize,
@@ -7888,8 +7905,7 @@ qemuBuildCommandLine(virConnectPtr conn,
@@ -8385,8 +8402,7 @@ qemuBuildCommandLine(virConnectPtr conn,
int vlan;
/* VLANs are not used with -netdev, so don't record them */
@ -99,10 +99,10 @@ index d4ab1a6..1d57ccc 100644
else
vlan = i;
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 36df403..0b3503a 100644
index cff6d70..30588fb 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -769,6 +769,23 @@ qemuDomainDefPostParse(virDomainDefPtr def,
@@ -799,6 +799,23 @@ qemuDomainDefPostParse(virDomainDefPtr def,
return 0;
}
@ -126,7 +126,7 @@ index 36df403..0b3503a 100644
static int
qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
@@ -784,8 +801,7 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
@@ -814,8 +831,7 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
dev->data.net->type != VIR_DOMAIN_NET_TYPE_HOSTDEV &&
!dev->data.net->model) {
if (VIR_STRDUP(dev->data.net->model,
@ -191,10 +191,10 @@ index 0000000..ec9374f
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 361ddb8..0bf2724 100644
index cb6106f..6ecabbf 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1029,6 +1029,9 @@ mymain(void)
@@ -1059,6 +1059,9 @@ mymain(void)
DO_TEST("arm-vexpressa9-nodevs",
QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB);
@ -204,3 +204,6 @@ index 361ddb8..0bf2724 100644
virObjectUnref(driver.config);
virObjectUnref(driver.caps);
--
1.8.3.1

View File

@ -1,7 +1,7 @@
From cd745209fc0b4a433ae7127bab616373e91a8a22 Mon Sep 17 00:00:00 2001
From 1ec41110747764f89f522e9e010326944da8d96d Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Wed, 31 Jul 2013 21:40:35 -0400
Subject: [PATCH] qemu: Support virtio-mmio transport for virtio on ARM
Date: Fri, 30 Aug 2013 12:41:36 -0400
Subject: [PATCH 8/8] qemu: Support virtio-mmio transport for virtio on ARM
Starting with qemu 1.6, the qemu-system-arm vexpress-a9 model has a
hardcoded virtio-mmio transport which enables attaching all virtio
@ -21,18 +21,18 @@ enabled.
---
src/conf/domain_conf.c | 12 +++-
src/conf/domain_conf.h | 1 +
src/qemu/qemu_capabilities.c | 16 ++++--
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_capabilities.c | 17 ++++--
src/qemu/qemu_capabilities.h | 2 +
src/qemu/qemu_command.c | 65 +++++++++++++++++-----
.../qemuxml2argv-arm-vexpressa9-virtio.args | 14 +++++
.../qemuxml2argv-arm-vexpressa9-virtio.xml | 45 +++++++++++++++
tests/qemuxml2argvtest.c | 4 ++
8 files changed, 137 insertions(+), 21 deletions(-)
8 files changed, 139 insertions(+), 21 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-virtio.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-arm-vexpressa9-virtio.xml
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 5485d86..73e5af4 100644
index 2c62a2d..3b51ae8 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -210,7 +210,8 @@ VIR_ENUM_IMPL(virDomainDeviceAddress, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_LAST,
@ -45,7 +45,7 @@ index 5485d86..73e5af4 100644
VIR_ENUM_IMPL(virDomainDisk, VIR_DOMAIN_DISK_TYPE_LAST,
"block",
@@ -2386,6 +2387,7 @@ int virDomainDeviceAddressIsValid(virDomainDeviceInfoPtr info,
@@ -2390,6 +2391,7 @@ int virDomainDeviceAddressIsValid(virDomainDeviceInfoPtr info,
return 1;
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390:
@ -53,7 +53,7 @@ index 5485d86..73e5af4 100644
return 1;
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW:
@@ -3027,6 +3029,9 @@ virDomainDeviceInfoFormat(virBufferPtr buf,
@@ -3031,6 +3033,9 @@ virDomainDeviceInfoFormat(virBufferPtr buf,
info->addr.ccw.devno);
break;
@ -63,7 +63,7 @@ index 5485d86..73e5af4 100644
default:
virReportError(VIR_ERR_INTERNAL_ERROR,
_("unknown address type '%d'"), info->type);
@@ -3491,6 +3496,9 @@ virDomainDeviceInfoParseXML(xmlNodePtr node,
@@ -3495,6 +3500,9 @@ virDomainDeviceInfoParseXML(xmlNodePtr node,
goto cleanup;
break;
@ -73,7 +73,7 @@ index 5485d86..73e5af4 100644
default:
/* Should not happen */
virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -5738,6 +5746,7 @@ virDomainControllerDefParseXML(xmlNodePtr node,
@@ -5827,6 +5835,7 @@ virDomainControllerDefParseXML(xmlNodePtr node,
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO &&
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW &&
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390 &&
@ -81,7 +81,7 @@ index 5485d86..73e5af4 100644
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Controllers must use the 'pci' address type"));
@@ -6349,6 +6358,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
@@ -6387,6 +6396,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO &&
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW &&
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390 &&
@ -90,7 +90,7 @@ index 5485d86..73e5af4 100644
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Network interfaces must use 'pci' address type"));
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index cf075e1..f0344ac 100644
index 380e2bb..1d70eba 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -207,6 +207,7 @@ enum virDomainDeviceAddressType {
@ -102,26 +102,27 @@ index cf075e1..f0344ac 100644
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_LAST
};
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 5c8316f..c4c6fbd 100644
index 72df793..a0f7773 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -234,6 +234,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
"vnc-share-policy", /* 150 */
"device-del-event",
+ "virtio-mmio",
@@ -237,6 +237,8 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
"dmi-to-pci-bridge",
"i440fx-pci-hole64-size",
"q35-pci-hole64-size",
+
+ "virtio-mmio", /* 155 */
);
struct _virQEMUCaps {
@@ -1381,6 +1382,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
{ "pci-bridge", QEMU_CAPS_DEVICE_PCI_BRIDGE },
@@ -1385,6 +1387,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
{ "vfio-pci", QEMU_CAPS_DEVICE_VFIO_PCI },
{ "scsi-generic", QEMU_CAPS_DEVICE_SCSI_GENERIC },
{ "i82801b11-bridge", QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE },
+ { "virtio-mmio", QEMU_CAPS_DEVICE_VIRTIO_MMIO },
};
static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBlk[] = {
@@ -2814,17 +2816,19 @@ virQEMUCapsUsedQMP(virQEMUCapsPtr qemuCaps)
@@ -2831,17 +2834,19 @@ virQEMUCapsUsedQMP(virQEMUCapsPtr qemuCaps)
bool
virQEMUCapsSupportsChardev(virDomainDefPtr def,
virQEMUCapsPtr qemuCaps,
@ -148,19 +149,20 @@ index 5c8316f..c4c6fbd 100644
+ chr->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO));
}
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 56f8405..fdb61b0 100644
index 5180ee9..e000ce5 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -190,6 +190,7 @@ enum virQEMUCapsFlags {
QEMU_CAPS_MLOCK = 149, /* -realtime mlock=on|off */
QEMU_CAPS_VNC_SHARE_POLICY = 150, /* set display sharing policy */
QEMU_CAPS_DEVICE_DEL_EVENT = 151, /* DEVICE_DELETED event */
+ QEMU_CAPS_DEVICE_VIRTIO_MMIO = 152, /* -device virtio-mmio */
@@ -194,6 +194,8 @@ enum virQEMUCapsFlags {
QEMU_CAPS_I440FX_PCI_HOLE64_SIZE = 153, /* i440FX-pcihost.pci-hole64-size */
QEMU_CAPS_Q35_PCI_HOLE64_SIZE = 154, /* q35-pcihost.pci-hole64-size */
+ QEMU_CAPS_DEVICE_VIRTIO_MMIO = 155, /* -device virtio-mmio */
+
QEMU_CAPS_LAST, /* this must always be the last item */
};
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 1d57ccc..360be4e 100644
index 787381b..efbfc97 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -418,22 +418,27 @@ cleanup:
@ -205,7 +207,7 @@ index 1d57ccc..360be4e 100644
if (net->driver.virtio.name == VIR_DOMAIN_NET_BACKEND_TYPE_VHOST) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
"%s", _("vhost-net is not supported with "
@@ -1146,8 +1151,8 @@ cleanup:
@@ -1154,8 +1159,8 @@ cleanup:
}
static void
@ -216,7 +218,7 @@ index 1d57ccc..360be4e 100644
{
/*
declare address-less virtio devices to be of address type 'type'
@@ -1281,7 +1286,7 @@ qemuDomainAssignS390Addresses(virDomainDefPtr def,
@@ -1289,7 +1294,7 @@ qemuDomainAssignS390Addresses(virDomainDefPtr def,
if (STREQLEN(def->os.machine, "s390-ccw", 8) &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_CCW)) {
@ -225,7 +227,7 @@ index 1d57ccc..360be4e 100644
def, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW);
if (!(addrs = qemuDomainCCWAddressSetCreate()))
@@ -1296,7 +1301,7 @@ qemuDomainAssignS390Addresses(virDomainDefPtr def,
@@ -1304,7 +1309,7 @@ qemuDomainAssignS390Addresses(virDomainDefPtr def,
goto cleanup;
} else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_S390)) {
/* deal with legacy virtio-s390 */
@ -234,7 +236,7 @@ index 1d57ccc..360be4e 100644
def, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390);
}
@@ -1319,6 +1324,18 @@ cleanup:
@@ -1327,6 +1332,18 @@ cleanup:
return ret;
}
@ -253,7 +255,7 @@ index 1d57ccc..360be4e 100644
static int
qemuSpaprVIOFindByReg(virDomainDefPtr def ATTRIBUTE_UNUSED,
@@ -1834,6 +1851,10 @@ int qemuDomainAssignAddresses(virDomainDefPtr def,
@@ -1912,6 +1929,10 @@ int qemuDomainAssignAddresses(virDomainDefPtr def,
if (rc)
return rc;
@ -264,7 +266,7 @@ index 1d57ccc..360be4e 100644
return qemuDomainAssignPCIAddresses(def, qemuCaps, obj);
}
@@ -3957,6 +3978,9 @@ qemuBuildDriveDevStr(virDomainDefPtr def,
@@ -4367,6 +4388,9 @@ qemuBuildDriveDevStr(virDomainDefPtr def,
} else if (disk->info.type ==
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390) {
virBufferAddLit(&opt, "virtio-blk-s390");
@ -274,7 +276,7 @@ index 1d57ccc..360be4e 100644
} else {
virBufferAddLit(&opt, "virtio-blk-pci");
}
@@ -4234,6 +4258,9 @@ qemuBuildControllerDevStr(virDomainDefPtr domainDef,
@@ -4645,6 +4669,9 @@ qemuBuildControllerDevStr(virDomainDefPtr domainDef,
else if (def->info.type ==
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390)
virBufferAddLit(&buf, "virtio-scsi-s390");
@ -284,7 +286,7 @@ index 1d57ccc..360be4e 100644
else
virBufferAddLit(&buf, "virtio-scsi-pci");
break;
@@ -4263,6 +4290,9 @@ qemuBuildControllerDevStr(virDomainDefPtr domainDef,
@@ -4674,6 +4701,9 @@ qemuBuildControllerDevStr(virDomainDefPtr domainDef,
} else if (def->info.type ==
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390) {
virBufferAddLit(&buf, "virtio-serial-s390");
@ -294,7 +296,7 @@ index 1d57ccc..360be4e 100644
} else {
virBufferAddLit(&buf, "virtio-serial");
}
@@ -4378,6 +4408,8 @@ qemuBuildNicDevStr(virDomainNetDefPtr net,
@@ -4806,6 +4836,8 @@ qemuBuildNicDevStr(virDomainDefPtr def,
nic = "virtio-net-ccw";
else if (net->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390)
nic = "virtio-net-s390";
@ -303,7 +305,7 @@ index 1d57ccc..360be4e 100644
else
nic = "virtio-net-pci";
@@ -4622,6 +4654,9 @@ qemuBuildMemballoonDevStr(virDomainMemballoonDefPtr dev,
@@ -5054,6 +5086,9 @@ qemuBuildMemballoonDevStr(virDomainDefPtr def,
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW:
virBufferAddLit(&buf, "virtio-balloon-ccw");
break;
@ -313,7 +315,7 @@ index 1d57ccc..360be4e 100644
default:
virReportError(VIR_ERR_XML_ERROR,
_("memballoon unsupported with address type '%s'"),
@@ -5615,6 +5650,8 @@ qemuBuildRNGDeviceArgs(virCommandPtr cmd,
@@ -6055,6 +6090,8 @@ qemuBuildRNGDeviceArgs(virCommandPtr cmd,
virBufferAsprintf(&buf, "virtio-rng-ccw,rng=%s", dev->info.alias);
else if (dev->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390)
virBufferAsprintf(&buf, "virtio-rng-s390,rng=%s", dev->info.alias);
@ -322,7 +324,7 @@ index 1d57ccc..360be4e 100644
else
virBufferAsprintf(&buf, "virtio-rng-pci,rng=%s", dev->info.alias);
@@ -6891,7 +6928,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
@@ -7331,7 +7368,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
*
* NB, no support for -netdev without use of -device
*/
@ -331,16 +333,16 @@ index 1d57ccc..360be4e 100644
if (!(host = qemuBuildHostNetStr(net, driver,
',', vlan,
tapfdName, tapfdSize,
@@ -6899,7 +6936,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
@@ -7339,7 +7376,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
goto cleanup;
virCommandAddArgList(cmd, "-netdev", host, NULL);
}
- if (qemuDomainSupportsNicdev(def, qemuCaps)) {
+ if (qemuDomainSupportsNicdev(def, qemuCaps, net)) {
if (!(nic = qemuBuildNicDevStr(net, vlan, bootindex, qemuCaps)))
goto cleanup;
virCommandAddArgList(cmd, "-device", nic, NULL);
@@ -6908,7 +6945,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
bool multiqueue = tapfdSize > 1 || vhostfdSize > 1;
if (!(nic = qemuBuildNicDevStr(def, net, vlan, bootindex,
@@ -7351,7 +7388,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
goto cleanup;
virCommandAddArgList(cmd, "-net", nic, NULL);
}
@ -349,7 +351,7 @@ index 1d57ccc..360be4e 100644
if (!(host = qemuBuildHostNetStr(net, driver,
',', vlan,
tapfdName, tapfdSize,
@@ -7905,7 +7942,7 @@ qemuBuildCommandLine(virConnectPtr conn,
@@ -8402,7 +8439,7 @@ qemuBuildCommandLine(virConnectPtr conn,
int vlan;
/* VLANs are not used with -netdev, so don't record them */
@ -430,10 +432,10 @@ index 0000000..2acf3c9
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 0bf2724..2bdd18e 100644
index 6ecabbf..ae8cc3b 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1032,6 +1032,10 @@ mymain(void)
@@ -1062,6 +1062,10 @@ mymain(void)
DO_TEST("arm-vexpressa9-basic",
QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB,
QEMU_CAPS_DRIVE);
@ -444,3 +446,6 @@ index 0bf2724..2bdd18e 100644
virObjectUnref(driver.config);
virObjectUnref(driver.caps);
--
1.8.3.1

View File

@ -100,6 +100,9 @@
%define with_numactl 0%{!?_without_numactl:%{server_drivers}}
%define with_selinux 0%{!?_without_selinux:%{server_drivers}}
# Just hardcode to off, since few people ever have apparmor RPMs installed
%define with_apparmor 0%{!?_without_apparmor:0}
# A few optional bits off by default, we enable later
%define with_polkit 0%{!?_without_polkit:0}
%define with_capng 0%{!?_without_capng:0}
@ -245,14 +248,19 @@
%if 0%{?fedora} >= 16
%define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
%endif
%if 0%{?rhel} >= 6
%if 0%{?rhel} == 6
%ifarch %{ix86} x86_64
%define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
%endif
%endif
%if 0%{?rhel} >= 7
%ifarch x86_64
%define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
%endif
%endif
# Enable libssh2 transport for new enough distros
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
%if 0%{?fedora} >= 17
%define with_libssh2 0%{!?_without_libssh2:1}
%endif
@ -347,10 +355,18 @@
%endif
# RHEL releases provide stable tool chains and so it is safe to turn
# compiler warning into errors without being worried about frequent
# changes in reported warnings
%if 0%{?rhel}
%define enable_werror --enable-werror
%endif
Summary: Library providing a simple virtualization API
Name: libvirt
Version: 1.1.1
Release: 3%{?dist}%{?extra_release}
Version: 1.1.2
Release: 1%{?dist}%{?extra_release}
License: LGPLv2+
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
@ -361,21 +377,15 @@ URL: http://libvirt.org/
%endif
Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
# CVE-2013-4239: xen: memory corruption in legacy driver (bz #996241, bz
# #996244)
Patch0001: 0001-xen-fix-memory-corruption-in-legacy-driver.patch
# Fix launching ARM guests on x86 (patches posted upstream, F20 feature)
Patch0002: 0002-conf-add-default-USB-controller-in-qemu-post-parse-c.patch
Patch0003: 0003-qemu-rename-some-functions-in-qemu_command.c.patch
Patch0004: 0004-qemu-Set-QEMU_AUDIO_DRV-none-with-nographic.patch
Patch0005: 0005-qemu-Only-setup-vhost-if-virtType-kvm.patch
Patch0006: 0006-domain_conf-Add-default-memballon-in-PostParse-callb.patch
Patch0007: 0007-qemu-Don-t-add-default-memballoon-device-on-ARM.patch
Patch0008: 0008-qemu-Fix-adding-specifying-char-devs-for-ARM.patch
Patch0009: 0009-qemu-Don-t-try-to-allocate-PCI-addresses-for-ARM.patch
Patch0010: 0010-domain_conf-Add-disk-bus-sd-wire-it-up-for-qemu.patch
Patch0011: 0011-qemu-Fix-networking-for-ARM-guests.patch
Patch0012: 0012-qemu-Support-virtio-mmio-transport-for-virtio-on-ARM.patch
Patch0001: 0001-qemu-Set-QEMU_AUDIO_DRV-none-with-nographic.patch
Patch0002: 0002-domain_conf-Add-default-memballoon-in-PostParse-call.patch
Patch0003: 0003-qemu-Don-t-add-default-memballoon-device-on-ARM.patch
Patch0004: 0004-qemu-Fix-specifying-char-devs-for-ARM.patch
Patch0005: 0005-qemu-Don-t-try-to-allocate-PCI-addresses-for-ARM.patch
Patch0006: 0006-domain_conf-Add-disk-bus-sd-wire-it-up-for-qemu.patch
Patch0007: 0007-qemu-Fix-networking-for-ARM-guests.patch
Patch0008: 0008-qemu-Support-virtio-mmio-transport-for-virtio-on-ARM.patch
%if %{with_libvirtd}
Requires: libvirt-daemon = %{version}-%{release}
@ -438,7 +448,9 @@ BuildRequires: readline-devel
BuildRequires: ncurses-devel
BuildRequires: gettext
BuildRequires: libtasn1-devel
%if (0%{?rhel} && 0%{?rhel} < 7) || (0%{?fedora} && 0%{?fedora} < 19)
BuildRequires: libgcrypt-devel
%endif
BuildRequires: gnutls-devel
BuildRequires: libattr-devel
%if %{with_libvirtd}
@ -488,6 +500,9 @@ BuildRequires: avahi-devel
%if %{with_selinux}
BuildRequires: libselinux-devel
%endif
%if %{with_apparmor}
BuildRequires: libapparmor-devel
%endif
%if %{with_network}
BuildRequires: dnsmasq >= 2.41
BuildRequires: iptables
@ -1147,10 +1162,8 @@ of recent versions of Linux (and other OSes).
%prep
%setup -q
# CVE-2013-4239: xen: memory corruption in legacy driver (bz #996241, bz
# #996244)
%patch0001 -p1
# Fix launching ARM guests on x86 (patches posted upstream, F20 feature)
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
%patch0004 -p1
@ -1158,10 +1171,6 @@ of recent versions of Linux (and other OSes).
%patch0006 -p1
%patch0007 -p1
%patch0008 -p1
%patch0009 -p1
%patch0010 -p1
%patch0011 -p1
%patch0012 -p1
%build
%if ! %{with_xen}
@ -1300,6 +1309,10 @@ of recent versions of Linux (and other OSes).
%define _without_selinux --without-selinux
%endif
%if ! %{with_apparmor}
%define _without_apparmor --without-apparmor
%endif
%if ! %{with_hal}
%define _without_hal --without-hal
%endif
@ -1352,10 +1365,6 @@ of recent versions of Linux (and other OSes).
%define init_scripts --with-init_script=redhat
%endif
%if 0%{?enable_autotools}
autoreconf -if
%endif
%if %{with_selinux}
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
%define with_selinux_mount --with-selinux-mount="/sys/fs/selinux"
@ -1364,6 +1373,12 @@ of recent versions of Linux (and other OSes).
%endif
%endif
# place macros above and build commands below this comment
%if 0%{?enable_autotools}
autoreconf -if
%endif
%configure %{?_without_xen} \
%{?_without_qemu} \
%{?_without_openvz} \
@ -1399,6 +1414,7 @@ of recent versions of Linux (and other OSes).
%{?_without_netcf} \
%{?_without_selinux} \
%{?_with_selinux_mount} \
%{?_without_apparmor} \
%{?_without_hal} \
%{?_without_udev} \
%{?_without_yajl} \
@ -1413,6 +1429,8 @@ of recent versions of Linux (and other OSes).
%{with_packager_version} \
--with-qemu-user=%{qemu_user} \
--with-qemu-group=%{qemu_group} \
%{?enable_werror} \
--enable-expensive-tests \
%{init_scripts}
make %{?_smp_mflags}
gzip -9 ChangeLog
@ -1472,12 +1490,6 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
%endif
%if ! %{with_python}
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}
%else
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}/examples
%endif
%if ! %{with_qemu}
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
@ -1770,6 +1782,7 @@ fi
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
%config(noreplace) %{_sysconfdir}/sysconfig/virtlockd
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
%config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf
%if 0%{?fedora} >= 14 || 0%{?rhel} >= 6
%config(noreplace) %{_prefix}/lib/sysctl.d/libvirtd.conf
%endif
@ -1811,6 +1824,7 @@ fi
%if %{with_qemu}
%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/target/
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
%endif
@ -1850,6 +1864,8 @@ fi
%{_datadir}/augeas/lenses/libvirtd.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
%{_datadir}/augeas/lenses/virtlockd.aug
%{_datadir}/augeas/lenses/tests/test_virtlockd.aug
%{_datadir}/augeas/lenses/libvirt_lockd.aug
%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
@ -1873,10 +1889,16 @@ fi
%endif
%attr(0755, root, root) %{_libexecdir}/libvirt_iohelper
%if %{with_apparmor}
%attr(0755, root, root) %{_libexecdir}/virt-aa-helper
%endif
%attr(0755, root, root) %{_sbindir}/libvirtd
%attr(0755, root, root) %{_sbindir}/virtlockd
%{_mandir}/man8/libvirtd.8*
%{_mandir}/man8/virtlockd.8*
%if %{with_driver_modules}
%if %{with_network}
@ -2012,14 +2034,17 @@ fi
%doc AUTHORS ChangeLog.gz NEWS README COPYING COPYING.LESSER TODO
%config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf
%config(noreplace) %{_sysconfdir}/libvirt/virt-login-shell.conf
%{_mandir}/man1/virsh.1*
%{_mandir}/man1/virt-xml-validate.1*
%{_mandir}/man1/virt-pki-validate.1*
%{_mandir}/man1/virt-host-validate.1*
%{_mandir}/man1/virt-login-shell.1*
%{_bindir}/virsh
%{_bindir}/virt-xml-validate
%{_bindir}/virt-pki-validate
%{_bindir}/virt-host-validate
%attr(4755, root, root) %{_bindir}/virt-login-shell
%{_libdir}/lib*.so.*
%if %{with_dtrace}
@ -2095,12 +2120,14 @@ fi
%{_libdir}/python*/site-packages/libvirt_qemu.py*
%{_libdir}/python*/site-packages/libvirt_lxc.py*
%{_libdir}/python*/site-packages/libvirtmod*
%doc python/tests/*.py
%doc examples/python
%doc examples/domain-events/events-python
%endif
%changelog
* Mon Sep 2 2013 Daniel P. Berrange <berrange@redhat.com> - 1.1.2-1
- Update to 1.1.2 release
* Tue Aug 20 2013 Cole Robinson <crobinso@redhat.com> - 1.1.1-3
- Fix launching ARM guests on x86 (patches posted upstream, F20 feature)

View File

@ -1 +1 @@
632f30a2f22fbb404b8e10702d7f55ca libvirt-1.1.1.tar.gz
1835bbfa492099bce12e2934870e5611 libvirt-1.1.2.tar.gz