Update to 1.1.2 release, rebasing ARM patches
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
2daa92daf9
commit
11755d8663
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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,
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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,
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
99
libvirt.spec
99
libvirt.spec
@ -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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user