[PATCH v2] xen: recognize device_model_override
by Olaf Hering
Since Xen 4.2 libxl expects device_model_override="/path" instead of
device_model="/path". Adjust the code to parse this as <emulator>.
While libxl also recognizes device_model_version="", this knob is not
required for libvirt. A runtime detection exists in libvirt to select
either "qemu-xen" or "qemu-xen-traditional".
Since qemu-xen-traditional is marked as supported just for stubdoms
there is no need to handle it.
The tests were adjusted with this script:
for i in tests/xlconfigdata/*.cfg tests/xmconfigdata/*.cfg
do
case "$i" in
*basic-hvm*) continue ;;
*cpu-shares-hvm*) continue ;;
*max-eventchannels-hvm*) continue ;;
*max-gntframes-hvm*) continue ;;
*moredevs-hvm*) continue ;;
*variable-clock-hvm*) continue ;;
*vnuma-hvm*) continue ;;
esac
sed -i '
s@^device_model[[:blank:]]@device_model_override @
' "$i"
done
for i in tests/libxlxml2domconfigdata/*.json
do
case "$i" in
*basic-hvm*) continue ;;
*cpu-shares-hvm*) continue ;;
*max-eventchannels-hvm*) continue ;;
*max-gntframes-hvm*) continue ;;
*moredevs-hvm*) continue ;;
*variable-clock-hvm*) continue ;;
*vnuma-hvm*) continue ;;
esac
sed -i '
s@"device_model"@"device_model_override"@
' "$i"
done
Signed-off-by: Olaf Hering <olaf(a)aepfle.de>
---
src/libxl/xen_common.c | 4 ++--
tests/xlconfigdata/test-disk-positional-parms-full.cfg | 2 +-
tests/xlconfigdata/test-disk-positional-parms-partial.cfg | 2 +-
tests/xlconfigdata/test-disk-qed.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-acpi-slic.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-cpuid.cfg | 2 +-
.../test-fullvirt-direct-kernel-boot-bogus-extra.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-direct-kernel-boot-extra.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-direct-kernel-boot.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-hpet-timer.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-hypervisor-features.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-multi-timer.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-multiserial.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-multiusb.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-nestedhvm-disabled.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-nestedhvm.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-nohap.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-ovmf.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-ovswitch-tagged.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-ovswitch-trunked.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-pci.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-tsc-timer.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-type.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-vnuma-autocomplete.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-vnuma-nodistances.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-vnuma-partialdist.cfg | 2 +-
tests/xlconfigdata/test-fullvirt-vnuma.cfg | 2 +-
tests/xlconfigdata/test-net-fakemodel.cfg | 2 +-
tests/xlconfigdata/test-new-disk.cfg | 2 +-
tests/xlconfigdata/test-qemu-passthrough.cfg | 2 +-
tests/xlconfigdata/test-rbd-multihost-noauth.cfg | 2 +-
tests/xlconfigdata/test-spice-features.cfg | 2 +-
tests/xlconfigdata/test-spice.cfg | 2 +-
tests/xlconfigdata/test-vif-multi-ip.cfg | 2 +-
tests/xlconfigdata/test-vif-rate.cfg | 2 +-
tests/xlconfigdata/test-vif-typename.cfg | 2 +-
tests/xmconfigdata/test-escape-paths.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-default-feature.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-force-hpet.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-force-nohpet.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-localtime.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-net-netfront.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-new-cdrom.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-nohap.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-parallel-tcp.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-serial-file.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-serial-null.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-serial-pipe.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-serial-pty.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-serial-stdio.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-serial-tcp.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-serial-udp.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-serial-unix.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-sound.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-usbmouse.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-usbtablet.cfg | 2 +-
tests/xmconfigdata/test-fullvirt-utc.cfg | 2 +-
tests/xmconfigdata/test-no-source-cdrom.cfg | 2 +-
tests/xmconfigdata/test-pci-dev-syntax.cfg | 2 +-
tests/xmconfigdata/test-pci-devs.cfg | 2 +-
61 files changed, 62 insertions(+), 62 deletions(-)
diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c
index c82e487d80..88a784ed04 100644
--- a/src/libxl/xen_common.c
+++ b/src/libxl/xen_common.c
@@ -1508,7 +1508,7 @@ xenParseConfigCommon(virConfPtr conf,
if (xenParseTimeOffset(conf, def) < 0)
return -1;
- if (xenConfigCopyStringOpt(conf, "device_model", &def->emulator) < 0)
+ if (xenConfigCopyStringOpt(conf, "device_model_override", &def->emulator) < 0)
return -1;
if (STREQ(nativeFormat, XEN_CONFIG_FORMAT_XL)) {
@@ -2242,7 +2242,7 @@ static int
xenFormatEmulator(virConfPtr conf, virDomainDefPtr def)
{
if (def->emulator &&
- xenConfigSetString(conf, "device_model", def->emulator) < 0)
+ xenConfigSetString(conf, "device_model_override", def->emulator) < 0)
return -1;
return 0;
diff --git a/tests/xlconfigdata/test-disk-positional-parms-full.cfg b/tests/xlconfigdata/test-disk-positional-parms-full.cfg
index 217d4dccf3..b5965945e1 100644
--- a/tests/xlconfigdata/test-disk-positional-parms-full.cfg
+++ b/tests/xlconfigdata/test-disk-positional-parms-full.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-disk-positional-parms-partial.cfg b/tests/xlconfigdata/test-disk-positional-parms-partial.cfg
index 940304e7b2..be5e23e39e 100644
--- a/tests/xlconfigdata/test-disk-positional-parms-partial.cfg
+++ b/tests/xlconfigdata/test-disk-positional-parms-partial.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-disk-qed.cfg b/tests/xlconfigdata/test-disk-qed.cfg
index 78421767de..5ae93f4d8a 100644
--- a/tests/xlconfigdata/test-disk-qed.cfg
+++ b/tests/xlconfigdata/test-disk-qed.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-acpi-slic.cfg b/tests/xlconfigdata/test-fullvirt-acpi-slic.cfg
index 99b1726343..b5bd9c9790 100644
--- a/tests/xlconfigdata/test-fullvirt-acpi-slic.cfg
+++ b/tests/xlconfigdata/test-fullvirt-acpi-slic.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-cpuid.cfg b/tests/xlconfigdata/test-fullvirt-cpuid.cfg
index bb7b9c7b32..e71a87dfe8 100644
--- a/tests/xlconfigdata/test-fullvirt-cpuid.cfg
+++ b/tests/xlconfigdata/test-fullvirt-cpuid.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-bogus-extra.cfg b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-bogus-extra.cfg
index 8012737c88..455ae0cee3 100644
--- a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-bogus-extra.cfg
+++ b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-bogus-extra.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-extra.cfg b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-extra.cfg
index 4ed5a90e18..10e64b0876 100644
--- a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-extra.cfg
+++ b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-extra.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.cfg b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.cfg
index 110f0a0cd1..f52c33dd3e 100644
--- a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.cfg
+++ b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-hpet-timer.cfg b/tests/xlconfigdata/test-fullvirt-hpet-timer.cfg
index a566bd75a3..b73ebf330c 100644
--- a/tests/xlconfigdata/test-fullvirt-hpet-timer.cfg
+++ b/tests/xlconfigdata/test-fullvirt-hpet-timer.cfg
@@ -14,7 +14,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-hypervisor-features.cfg b/tests/xlconfigdata/test-fullvirt-hypervisor-features.cfg
index 88f018c823..87156cc2db 100644
--- a/tests/xlconfigdata/test-fullvirt-hypervisor-features.cfg
+++ b/tests/xlconfigdata/test-fullvirt-hypervisor-features.cfg
@@ -13,7 +13,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-multi-timer.cfg b/tests/xlconfigdata/test-fullvirt-multi-timer.cfg
index 5a78585821..c897b2a161 100644
--- a/tests/xlconfigdata/test-fullvirt-multi-timer.cfg
+++ b/tests/xlconfigdata/test-fullvirt-multi-timer.cfg
@@ -15,7 +15,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-multiserial.cfg b/tests/xlconfigdata/test-fullvirt-multiserial.cfg
index 1fd765b087..25bc4506e7 100644
--- a/tests/xlconfigdata/test-fullvirt-multiserial.cfg
+++ b/tests/xlconfigdata/test-fullvirt-multiserial.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-multiusb.cfg b/tests/xlconfigdata/test-fullvirt-multiusb.cfg
index 6d456deb21..afb041d53c 100644
--- a/tests/xlconfigdata/test-fullvirt-multiusb.cfg
+++ b/tests/xlconfigdata/test-fullvirt-multiusb.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-nestedhvm-disabled.cfg b/tests/xlconfigdata/test-fullvirt-nestedhvm-disabled.cfg
index d4b9f452de..bdf94e79e2 100644
--- a/tests/xlconfigdata/test-fullvirt-nestedhvm-disabled.cfg
+++ b/tests/xlconfigdata/test-fullvirt-nestedhvm-disabled.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-nestedhvm.cfg b/tests/xlconfigdata/test-fullvirt-nestedhvm.cfg
index 281f1268a5..5882bfee9f 100644
--- a/tests/xlconfigdata/test-fullvirt-nestedhvm.cfg
+++ b/tests/xlconfigdata/test-fullvirt-nestedhvm.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-nohap.cfg b/tests/xlconfigdata/test-fullvirt-nohap.cfg
index e7e933df6e..4235909f07 100644
--- a/tests/xlconfigdata/test-fullvirt-nohap.cfg
+++ b/tests/xlconfigdata/test-fullvirt-nohap.cfg
@@ -13,7 +13,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-ovmf.cfg b/tests/xlconfigdata/test-fullvirt-ovmf.cfg
index b08e7fd98a..4d31a81108 100644
--- a/tests/xlconfigdata/test-fullvirt-ovmf.cfg
+++ b/tests/xlconfigdata/test-fullvirt-ovmf.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.cfg b/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.cfg
index 6a3dc3cfeb..5ba84ad22a 100644
--- a/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.cfg
+++ b/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.cfg b/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.cfg
index 29e9d38ae8..edd53c9a08 100644
--- a/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.cfg
+++ b/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-pci.cfg b/tests/xlconfigdata/test-fullvirt-pci.cfg
index 5a3f572e25..e639cf9c83 100644
--- a/tests/xlconfigdata/test-fullvirt-pci.cfg
+++ b/tests/xlconfigdata/test-fullvirt-pci.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-tsc-timer.cfg b/tests/xlconfigdata/test-fullvirt-tsc-timer.cfg
index 587d3461f8..a30052dbf7 100644
--- a/tests/xlconfigdata/test-fullvirt-tsc-timer.cfg
+++ b/tests/xlconfigdata/test-fullvirt-tsc-timer.cfg
@@ -14,7 +14,7 @@ localtime = 1
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-type.cfg b/tests/xlconfigdata/test-fullvirt-type.cfg
index f8ecc2e190..9a9854ef38 100644
--- a/tests/xlconfigdata/test-fullvirt-type.cfg
+++ b/tests/xlconfigdata/test-fullvirt-type.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 0
parallel = "none"
diff --git a/tests/xlconfigdata/test-fullvirt-vnuma-autocomplete.cfg b/tests/xlconfigdata/test-fullvirt-vnuma-autocomplete.cfg
index edba69a172..98b7ca7f4f 100644
--- a/tests/xlconfigdata/test-fullvirt-vnuma-autocomplete.cfg
+++ b/tests/xlconfigdata/test-fullvirt-vnuma-autocomplete.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-vnuma-nodistances.cfg b/tests/xlconfigdata/test-fullvirt-vnuma-nodistances.cfg
index 8186edfee0..88f1c03fcb 100644
--- a/tests/xlconfigdata/test-fullvirt-vnuma-nodistances.cfg
+++ b/tests/xlconfigdata/test-fullvirt-vnuma-nodistances.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-vnuma-partialdist.cfg b/tests/xlconfigdata/test-fullvirt-vnuma-partialdist.cfg
index 861a50e76b..e117794086 100644
--- a/tests/xlconfigdata/test-fullvirt-vnuma-partialdist.cfg
+++ b/tests/xlconfigdata/test-fullvirt-vnuma-partialdist.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-fullvirt-vnuma.cfg b/tests/xlconfigdata/test-fullvirt-vnuma.cfg
index 91e233ac27..2220159ba4 100644
--- a/tests/xlconfigdata/test-fullvirt-vnuma.cfg
+++ b/tests/xlconfigdata/test-fullvirt-vnuma.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-net-fakemodel.cfg b/tests/xlconfigdata/test-net-fakemodel.cfg
index 70bd922ac0..6df0a0dc41 100644
--- a/tests/xlconfigdata/test-net-fakemodel.cfg
+++ b/tests/xlconfigdata/test-net-fakemodel.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-new-disk.cfg b/tests/xlconfigdata/test-new-disk.cfg
index 4fe76b257f..20dca0c257 100644
--- a/tests/xlconfigdata/test-new-disk.cfg
+++ b/tests/xlconfigdata/test-new-disk.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-qemu-passthrough.cfg b/tests/xlconfigdata/test-qemu-passthrough.cfg
index 42aad92205..79347d0ac8 100644
--- a/tests/xlconfigdata/test-qemu-passthrough.cfg
+++ b/tests/xlconfigdata/test-qemu-passthrough.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-rbd-multihost-noauth.cfg b/tests/xlconfigdata/test-rbd-multihost-noauth.cfg
index 01c15d59a1..5906865047 100644
--- a/tests/xlconfigdata/test-rbd-multihost-noauth.cfg
+++ b/tests/xlconfigdata/test-rbd-multihost-noauth.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-spice-features.cfg b/tests/xlconfigdata/test-spice-features.cfg
index f8a25e497a..944c653d70 100644
--- a/tests/xlconfigdata/test-spice-features.cfg
+++ b/tests/xlconfigdata/test-spice-features.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000" ]
parallel = "none"
serial = "none"
diff --git a/tests/xlconfigdata/test-spice.cfg b/tests/xlconfigdata/test-spice.cfg
index abdf63dd25..976c166e04 100644
--- a/tests/xlconfigdata/test-spice.cfg
+++ b/tests/xlconfigdata/test-spice.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000" ]
parallel = "none"
serial = "none"
diff --git a/tests/xlconfigdata/test-vif-multi-ip.cfg b/tests/xlconfigdata/test-vif-multi-ip.cfg
index 4a5d37f960..b082b9b22b 100644
--- a/tests/xlconfigdata/test-vif-multi-ip.cfg
+++ b/tests/xlconfigdata/test-vif-multi-ip.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-vif-rate.cfg b/tests/xlconfigdata/test-vif-rate.cfg
index 34a19a29b6..f6270c2d1e 100644
--- a/tests/xlconfigdata/test-vif-rate.cfg
+++ b/tests/xlconfigdata/test-vif-rate.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xlconfigdata/test-vif-typename.cfg b/tests/xlconfigdata/test-vif-typename.cfg
index fb5d94c27a..b2f1157438 100644
--- a/tests/xlconfigdata/test-vif-typename.cfg
+++ b/tests/xlconfigdata/test-vif-typename.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-escape-paths.cfg b/tests/xmconfigdata/test-escape-paths.cfg
index d3e410ffd2..03abf8d568 100644
--- a/tests/xmconfigdata/test-escape-paths.cfg
+++ b/tests/xmconfigdata/test-escape-paths.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386&test"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386&test"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-default-feature.cfg b/tests/xmconfigdata/test-fullvirt-default-feature.cfg
index b01e290239..86d1d809c0 100644
--- a/tests/xmconfigdata/test-fullvirt-default-feature.cfg
+++ b/tests/xmconfigdata/test-fullvirt-default-feature.cfg
@@ -13,7 +13,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-force-hpet.cfg b/tests/xmconfigdata/test-fullvirt-force-hpet.cfg
index 16fe985946..1cf6fbd333 100644
--- a/tests/xmconfigdata/test-fullvirt-force-hpet.cfg
+++ b/tests/xmconfigdata/test-fullvirt-force-hpet.cfg
@@ -13,7 +13,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-force-nohpet.cfg b/tests/xmconfigdata/test-fullvirt-force-nohpet.cfg
index eb118427cc..bf8c4134c0 100644
--- a/tests/xmconfigdata/test-fullvirt-force-nohpet.cfg
+++ b/tests/xmconfigdata/test-fullvirt-force-nohpet.cfg
@@ -13,7 +13,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-localtime.cfg b/tests/xmconfigdata/test-fullvirt-localtime.cfg
index 2f8514d5e4..bc7ed271e3 100644
--- a/tests/xmconfigdata/test-fullvirt-localtime.cfg
+++ b/tests/xmconfigdata/test-fullvirt-localtime.cfg
@@ -12,7 +12,7 @@ localtime = 1
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-net-netfront.cfg b/tests/xmconfigdata/test-fullvirt-net-netfront.cfg
index b744b2184e..901f620eff 100644
--- a/tests/xmconfigdata/test-fullvirt-net-netfront.cfg
+++ b/tests/xmconfigdata/test-fullvirt-net-netfront.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-new-cdrom.cfg b/tests/xmconfigdata/test-fullvirt-new-cdrom.cfg
index f9fce015e0..6fc9283a4c 100644
--- a/tests/xmconfigdata/test-fullvirt-new-cdrom.cfg
+++ b/tests/xmconfigdata/test-fullvirt-new-cdrom.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-nohap.cfg b/tests/xmconfigdata/test-fullvirt-nohap.cfg
index e5375dfdb6..6bd4eb4c29 100644
--- a/tests/xmconfigdata/test-fullvirt-nohap.cfg
+++ b/tests/xmconfigdata/test-fullvirt-nohap.cfg
@@ -13,7 +13,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-parallel-tcp.cfg b/tests/xmconfigdata/test-fullvirt-parallel-tcp.cfg
index 94c52d975b..62e18c1af3 100644
--- a/tests/xmconfigdata/test-fullvirt-parallel-tcp.cfg
+++ b/tests/xmconfigdata/test-fullvirt-parallel-tcp.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-serial-file.cfg b/tests/xmconfigdata/test-fullvirt-serial-file.cfg
index 9193cc8717..0574f97ccc 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-file.cfg
+++ b/tests/xmconfigdata/test-fullvirt-serial-file.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-serial-null.cfg b/tests/xmconfigdata/test-fullvirt-serial-null.cfg
index 9ef60b4bd5..839818b228 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-null.cfg
+++ b/tests/xmconfigdata/test-fullvirt-serial-null.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-serial-pipe.cfg b/tests/xmconfigdata/test-fullvirt-serial-pipe.cfg
index 60e41ab556..bdbfe30d1c 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-pipe.cfg
+++ b/tests/xmconfigdata/test-fullvirt-serial-pipe.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-serial-pty.cfg b/tests/xmconfigdata/test-fullvirt-serial-pty.cfg
index d4e0763d15..3007e96efa 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-pty.cfg
+++ b/tests/xmconfigdata/test-fullvirt-serial-pty.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-serial-stdio.cfg b/tests/xmconfigdata/test-fullvirt-serial-stdio.cfg
index efefe109b9..9af628c457 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-stdio.cfg
+++ b/tests/xmconfigdata/test-fullvirt-serial-stdio.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.cfg b/tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.cfg
index 224f5274e1..cbbb30a42e 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.cfg
+++ b/tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-serial-tcp.cfg b/tests/xmconfigdata/test-fullvirt-serial-tcp.cfg
index e70ab847ec..d2b65b5c2d 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-tcp.cfg
+++ b/tests/xmconfigdata/test-fullvirt-serial-tcp.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-serial-udp.cfg b/tests/xmconfigdata/test-fullvirt-serial-udp.cfg
index 9e7acdf0c4..8d44b053a8 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-udp.cfg
+++ b/tests/xmconfigdata/test-fullvirt-serial-udp.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-serial-unix.cfg b/tests/xmconfigdata/test-fullvirt-serial-unix.cfg
index 964beba4fe..a6cc4a4cd9 100644
--- a/tests/xmconfigdata/test-fullvirt-serial-unix.cfg
+++ b/tests/xmconfigdata/test-fullvirt-serial-unix.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-sound.cfg b/tests/xmconfigdata/test-fullvirt-sound.cfg
index 501463f54c..5a71618f83 100644
--- a/tests/xmconfigdata/test-fullvirt-sound.cfg
+++ b/tests/xmconfigdata/test-fullvirt-sound.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-usbmouse.cfg b/tests/xmconfigdata/test-fullvirt-usbmouse.cfg
index 660f18e776..07d49573d0 100644
--- a/tests/xmconfigdata/test-fullvirt-usbmouse.cfg
+++ b/tests/xmconfigdata/test-fullvirt-usbmouse.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-usbtablet.cfg b/tests/xmconfigdata/test-fullvirt-usbtablet.cfg
index 90428882cc..45364b1a57 100644
--- a/tests/xmconfigdata/test-fullvirt-usbtablet.cfg
+++ b/tests/xmconfigdata/test-fullvirt-usbtablet.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-fullvirt-utc.cfg b/tests/xmconfigdata/test-fullvirt-utc.cfg
index f9fce015e0..6fc9283a4c 100644
--- a/tests/xmconfigdata/test-fullvirt-utc.cfg
+++ b/tests/xmconfigdata/test-fullvirt-utc.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-no-source-cdrom.cfg b/tests/xmconfigdata/test-no-source-cdrom.cfg
index 8439961215..a6045244e5 100644
--- a/tests/xmconfigdata/test-no-source-cdrom.cfg
+++ b/tests/xmconfigdata/test-no-source-cdrom.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "destroy"
on_crash = "destroy"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-pci-dev-syntax.cfg b/tests/xmconfigdata/test-pci-dev-syntax.cfg
index e0f00d9bd7..c3add42e56 100644
--- a/tests/xmconfigdata/test-pci-dev-syntax.cfg
+++ b/tests/xmconfigdata/test-pci-dev-syntax.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "destroy"
on_crash = "destroy"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
diff --git a/tests/xmconfigdata/test-pci-devs.cfg b/tests/xmconfigdata/test-pci-devs.cfg
index 188227e187..9c6d3311a8 100644
--- a/tests/xmconfigdata/test-pci-devs.cfg
+++ b/tests/xmconfigdata/test-pci-devs.cfg
@@ -12,7 +12,7 @@ localtime = 0
on_poweroff = "destroy"
on_reboot = "destroy"
on_crash = "destroy"
-device_model = "/usr/lib/xen/bin/qemu-system-i386"
+device_model_override = "/usr/lib/xen/bin/qemu-system-i386"
sdl = 0
vnc = 1
vncunused = 1
3 years, 12 months
[PATCH RESEND v1] xen: recognize device_model_override
by Olaf Hering
Since Xen 4.2 libxl expects device_model_override="/path" instead of
device_model="/path". Adjust the code to parse this as <emulator>.
While libxl also recognizes device_model_version="", this knob is not
supported by libvirt. A runtime detection exists to select either
"qemu-xen" or "qemu-xen-traditional".
Signed-off-by: Olaf Hering <olaf(a)aepfle.de>
---
src/libxl/xen_common.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c
index c82e487d80..88a784ed04 100644
--- a/src/libxl/xen_common.c
+++ b/src/libxl/xen_common.c
@@ -1508,7 +1508,7 @@ xenParseConfigCommon(virConfPtr conf,
if (xenParseTimeOffset(conf, def) < 0)
return -1;
- if (xenConfigCopyStringOpt(conf, "device_model", &def->emulator) < 0)
+ if (xenConfigCopyStringOpt(conf, "device_model_override", &def->emulator) < 0)
return -1;
if (STREQ(nativeFormat, XEN_CONFIG_FORMAT_XL)) {
@@ -2242,7 +2242,7 @@ static int
xenFormatEmulator(virConfPtr conf, virDomainDefPtr def)
{
if (def->emulator &&
- xenConfigSetString(conf, "device_model", def->emulator) < 0)
+ xenConfigSetString(conf, "device_model_override", def->emulator) < 0)
return -1;
return 0;
3 years, 12 months
[RFCv2 00/46] RFC: Generate parsexml/formatbuf functions based on directives
by Shi Lei
V1 here: [https://www.redhat.com/archives/libvir-list/2020-June/msg00357.html]
Differ from V1:
* Move the generator into scripts/xmlgen and rename it 'xmlgen'.
* Declare virXMLChildNode and virXMLChildNodeSet in libvirt_private.syms.
* Replace VIR_FREE with g_free and VIR_ALLOC[_N] with g_new0.
* Adjust virReportError to avoid unnecessary translation.
* Remove the macro VIR_USED and use G_GNUC_UNUSED to declare arguments.
* When parsing string member, assign value to it directly instead of
using middle variable.
* Don't set libclang_path. Just use python-clang's default setting.
* Use virEscapeString for escaping xml characters.
* Enable directive 'genformat' with a parameter to support separation mode.
* Add directive 'xmlswitch' and 'xmlgroup' to support discriminated unions.
* Allow directive 'array' and 'specified' to carry with a parameter,
which specifies its counterpart explicitly.
* Enable directive 'xmlattr' with path.
* Add directive 'formatflag' and 'formathook'.
For those new and changed directives, illustrate them by an example:
struct _virDomainGraphicsAuthDef { /* genparse, genformat:separate */
char *passwd; /* xmlattr, formatflag:VIR_DOMAIN_DEF_FORMAT_SECURE */
bool expires;
time_t validTo; /* xmlattr:passwdValidTo, specified:expires */
virDomainGraphicsAuthConnectedType connected; /* xmlattr */
};
struct _virDomainGraphicsListenDef { /* genparse:withhook, genformat */
virDomainGraphicsListenType type; /* xmlattr */
char *address; /* xmlattr, formathook */
char *network; /* xmlattr, formatflag:VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_NETWORK */
char *socket; /* xmlattr, formathook */
int fromConfig; /* xmlattr, formatflag:%VIR_DOMAIN_DEF_FORMAT_STATUS */
bool autoGenerated; /* xmlattr, formatflag:%VIR_DOMAIN_DEF_FORMAT_STATUS */
};
struct _virDomainGraphicsSDLDef { /* genparse, genformat:separate */
char *display; /* xmlattr */
char *xauth; /* xmlattr */
bool fullscreen; /* xmlattr */
virTristateBool gl; /* xmlattr:gl/enable */
};
struct _virDomainGraphicsDef { /* genparse:concisehook, genformat */
virObjectPtr privateData;
virDomainGraphicsType type; /* xmlattr */
size_t nListens;
virDomainGraphicsListenDefPtr listens; /* xmlelem, array:nListens */
union {
virDomainGraphicsSDLDef sdl; /* xmlgroup */
virDomainGraphicsVNCDef vnc; /* xmlgroup */
virDomainGraphicsRDPDef rdp; /* xmlgroup */
virDomainGraphicsDesktopDef desktop; /* xmlgroup */
virDomainGraphicsSpiceDef spice; /* xmlgroup */
virDomainGraphicsEGLHeadlessDef egl_headless; /* xmlgroup */
} data; /* xmlswitch:type */
};
Explanation for these directives:
- genformat[:separate|onlyattrs|onlyelems]
Only work on a struct.
Generate formatbuf function for this struct only if 'genformat' is specified.
The function name is based on struct-name and suffixed with 'FormatBuf'.
When 'genformat:separate' is specified, generate two formatbuf functions
rather than a single full-mode formatbuf function.
One for formatting attributes and another for formatting elements.
These function names are based on struct-name and suffixed with 'FormatAttr'
and 'FormatElem' respectively.
The 'onlyattrs' and 'onlyelems' are just like 'separate', but only
generate one of those two functions according to its denotation.
- xmlattr[:[parentname/]thename]
Parse/Format the field as an XML attribute or
attribute wrapped by an XML element.
If only 'thename' is specified, use it as the XML attribute name;
or use the filed name.
The 'parentname' is the name of the attribute's parent element.
If 'parentname/thename' is specified, the corresponding form is
<parentname thename='..' />.
- xmlgroup
The field is a struct, but its corresponding form in XML is a group
rather than an element.
- xmlswitch:thename
Only for discriminated union. 'thename' is the name of its relative enum.
The name of each union member should match a shortname of the enum.
- array[:countername]
Parse/Format the field as an array.
Each array field must have an related counter field, which name is
specified by 'countername'.
If 'countername' is omitted, follow the pattern:
n + 'field_name'.
- specified[:thename]
This field has an related field to indicate its existence, and
'thename' specifies the name of this related field.
When 'thename' is omitted, follow the pattern:
'field_name' + '_specified'.
- formatflag:[!|%]flag
This field will be formatted and written out to XML only if the 'flag'
hits a target flagset.
The target flagset is passed into the formatbuf function through the
argument 'opaque'.
Adding a '!' before 'flag' means NOT hitting.
Adding a '%' before 'flag' means that flag hitting-check is the unique
condition for formatting this field. For example,
for 'passwd' in 'virDomainGraphicsAuthDef', the directive is:
formatflag:VIR_DOMAIN_DEF_FORMAT_SECURE
then the generated code:
if (def->passwd && (virXMLFlag(opaque) & VIR_DOMAIN_DEF_FORMAT_SECURE))
virBufferEscapeString(buf, " passwd='%s'", def->passwd);
If '%' is inserted like this:
formatflag:%VIR_DOMAIN_DEF_FORMAT_SECURE
then the generated code:
if ((virXMLFlag(opaque) & VIR_DOMAIN_DEF_FORMAT_SECURE))
virBufferEscapeString(buf, " passwd='%s'", def->passwd);
- formathook
Introduce hooks to handle the field if xmlgen can't deal with it now.
E.g., virDomainGraphicsListenDef have two fields with 'formathook',
which are 'address' and 'socket'.
The xmlgen will generate the declaration of some hooks for formatting
these fields and developers should implement them.
1) Check the declaration of hook by a commandline.
# ./scripts/xmlgen/go show virDomainGraphicsListenDef -kf
int
virDomainGraphicsListenDefFormatHook(const virDomainGraphicsListenDef *def,
const void *parent,
const void *opaque,
virBufferPtr addressBuf,
virBufferPtr socketBuf);
bool
virDomainGraphicsListenDefCheckHook(const virDomainGraphicsListenDef *def,
const void *parent,
void *opaque,
bool result);
2) Implement these two hooks in src/conf/domain_conf.c.
2.1) virXXXFormatHook
It is the hook for formatting field 'address' and 'socket'.
The 'addressBuf' and 'socketBuf' are used for output destinations respectively.
2.2) virXXXCheckHook
For structs, the xmlgen generates virXXXCheck function to come with
the virXXXFormatBuf. The virXXXCheck reports whether the corresponding
XML element is null.
The virXXXCheckHook intercepts the 'result' of virXXXCheck. It changes 'result'
or just forwards it according to those fields with 'formathook'.
Thanks!
Shi Lei (46):
scripts: Add a tool to generate xml parse/format functions
maint: Check python3-clang
maint: Call xmlgen automatically when c-head-files change
util: Add some xml-helper-functions to cooperate with xmlgen
util: Add helper functions for 'bool' and 'time_t' and cooperate with
xmlgen
util: Add parsexml/formatbuf helper functions for virSocketAddr
conf: Extract error-checking code from virNetworkDNSTxtDefParseXML
conf: Replace virNetworkDNSTxtDefParseXML(hardcoded) with
namesake(generated)
conf: Generate virNetworkDNSTxtDefFormatBuf
conf: Extract error-checking code from virNetworkDNSSrvDefParseXML
conf: Replace virNetworkDNSSrvDefParseXML(hardcoded) with
namesake(generated)
conf: Generate virNetworkDNSSrvDefFormatBuf
conf: Extract error-checking code from virNetworkDNSHostDefParseXML
conf: Replace virNetworkDNSHostDefParseXML(hardcoded) with
namesake(generated)
conf: Generate virNetworkDNSHostDefFormatBuf
conf: Extract virNetworkDNSForwarderParseXML from
virNetworkDNSParseXML
conf: Replace virNetworkDNSForwarderParseXML(hardcoded) with
namesake(generated)
conf: Generate virNetworkDNSForwarderFormatBuf
conf: Extract error-checking code from virNetworkDNSDefParseXML
conf: Replace virNetworkDNSDefParseXML(hardcoded) with
namesake(generated)
conf: Generate virNetworkDNSDefFormatBuf
conf: Extract embedded structs from virDomainGraphicsDef as standalone
structs
conf: Replace virDomainGraphicsDefParseXMLSDL(hardcoded) with
virDomainGraphicsSDLDefParseXML(generated)
conf: Generate format functions for virDomainGraphicsSDLDef
conf: Replace virDomainGraphicsAuthDefParseXML(hardcoded) with
namesake(generated)
conf: Generate format functions for virDomainGraphicsAuthDef
conf: Extract error-checking code from virDomainGraphicsDefParseXMLVNC
conf: Replace virDomainGraphicsDefParseXMLVNC(hardcoded) with
virDomainGraphicsVNCDefParseXML(generated)
conf: Generate virDomainGraphicsVNCDefFormatAttr
conf: Extract error-checking code from virDomainGraphicsDefParseXMLRDP
conf: Replace virDomainGraphicsDefParseXMLRDP(hardcoded) with
virDomainGraphicsRDPDefParseXML(generated)
conf: Generate virDomainGraphicsRDPDefFormatAttr
conf: Replace virDomainGraphicsDefParseXMLDesktop(hardcoded) with
virDomainGraphicsDesktopDefParseXML(generated)
conf: Generate virDomainGraphicsDesktopDefFormatAttr
conf: Add virSpiceChannelDef to help to parse the member 'channels' of
virDomainGraphicsSpiceDef
conf: Extract error-checking code from
virDomainGraphicsDefParseXMLSpice
conf: Replace virDomainGraphicsDefParseXMLSpice(hardcoded) with
virDomainGraphicsSpiceDefParseXML(generated)
conf: Generate virDomainGraphicsSpiceDefFormatElem and
virDomainGraphicsSpiceDefFormatAttr
conf: Replace virDomainGraphicsDefParseXMLEGLHeadless(hardcoded) with
virDomainGraphicsEGLHeadlessDefParseXML(generated)
conf: Generate virDomainGraphicsEGLHeadlessDefFormatElem
conf: Extract error-checking code from
virDomainGraphicsListenDefParseXML
conf: Replace virDomainGraphicsListenDefParseXML(hardcoded) with
namesake(generated)
conf: Generate virDomainGraphicsListenDefFormatBuf
conf: Extract error-checking code from virDomainGraphicsDefParseXML
conf: Replace virDomainGraphicsDefParseXML(hardcoded) with
namesake(generated)
conf: Replace virDomainGraphicsDefFormat(hardcoded) with
virDomainGraphicsDefFormatBuf(generated)
meson.build | 5 +
po/POTFILES.in | 3 +
scripts/meson.build | 8 +
scripts/xmlgen/directive.py | 1115 ++++++++++++++++++++
scripts/xmlgen/go | 7 +
scripts/xmlgen/main.py | 439 ++++++++
scripts/xmlgen/utils.py | 121 +++
src/conf/domain_conf.c | 1650 +++++++++---------------------
src/conf/domain_conf.h | 179 ++--
src/conf/meson.build | 41 +
src/conf/network_conf.c | 467 ++-------
src/conf/network_conf.h | 54 +-
src/conf/virconftypes.h | 18 +
src/libvirt_private.syms | 9 +
src/meson.build | 6 +
src/qemu/qemu_command.c | 4 +
src/qemu/qemu_driver.c | 2 +
src/qemu/qemu_hotplug.c | 2 +
src/qemu/qemu_migration_cookie.c | 1 +
src/qemu/qemu_process.c | 5 +
src/qemu/qemu_validate.c | 2 +
src/util/virsocketaddr.c | 42 +
src/util/virsocketaddr.h | 26 +-
src/util/virstring.c | 57 ++
src/util/virstring.h | 9 +
src/util/virxml.c | 105 ++
src/util/virxml.h | 6 +
src/vmx/vmx.c | 1 +
tests/meson.build | 1 +
tools/meson.build | 2 +
30 files changed, 2738 insertions(+), 1649 deletions(-)
create mode 100644 scripts/xmlgen/directive.py
create mode 100755 scripts/xmlgen/go
create mode 100755 scripts/xmlgen/main.py
create mode 100644 scripts/xmlgen/utils.py
--
2.25.1
3 years, 12 months
[PATCH] spec: keep existing nwfilters uuid on update
by Nikolay Shirokovskiy
Now on every nwfilter config package update we overwrite existing filters
entirely. It is desired to bring new version of filters on update but we'd
better keep their uuids I guess.
Actually patch primarily address noise in logs on update. If both libvirtd and
firewalld are running and libvirt is using firewalld backend then on firewalld
restart we reload all nwfilters. So if node is updated and we have update for
both firewalld and libvirt then in the process of update first new nwfilters of
libvirt package are copied to /etc/libvirt/nwfilters then firewalld is
restarted and then libvirtd is restarted. In this process firewalld restart
cause log messages like [1]. The issue is libvirt brings nwfilters without
<uuid> in definition and on handling firewalld restart libvirt generates
missing uuid and then fail to update filter definition because it is already
present in filters list with different uuid.
[1] virNWFilterObjListAssignDef:337 : operation failed: filter 'no-ip-spoofing'
already exists with uuid c302edf9-8a48-40d8-a652-f70b2c563ad1
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy(a)virtuozzo.com>
---
libvirt.spec.in | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 2a4324b..6a31440 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1438,7 +1438,18 @@ fi
rm -rf %{_localstatedir}/lib/rpm-state/libvirt || :
%post daemon-config-nwfilter
-cp %{_datadir}/libvirt/nwfilter/*.xml %{_sysconfdir}/libvirt/nwfilter/
+# keep existing filters uuid on update
+for dfile in %{_datadir}/libvirt/nwfilter/*.xml; do
+ sfile=%{_sysconfdir}/libvirt/nwfilter/`basename $dfile`
+ if [ -f "$sfile" ]; then
+ uuidstr=`sed -n '/<uuid>.*<\/uuid>/p' "$sfile"`
+ if [ ! -z "$uuidstr" ]; then
+ sed -e "s,<filter .*>,&\n$uuidstr," "$dfile" > "$sfile"
+ continue
+ fi
+ fi
+ cp "$dfile" "$sfile"
+done
# libvirt saves these files with mode 600
chmod 600 %{_sysconfdir}/libvirt/nwfilter/*.xml
# Make sure libvirt picks up the new nwfilter defininitons
--
1.8.3.1
3 years, 12 months
[PATCH v2 00/10] qemu: add option to process offloaded legacy blockjob event ealier
by Nikolay Shirokovskiy
This is successor to [1] but I changed the subject as in the review the patch
'qemu: sync backing chain update in virDomainGetBlockJobInfo' was not
considered good one from design POV. However I think the basic patch is helpful
to address similar issues. Look at [*] for example, there it allows to sync
backing chains during query block stats.
In discussion of [1] I stated that first patch will also allow to get rid of
stale block job events on reconnection to qemu. But this will require
additional work actually so with this patch series stale events are still
present. And in the discussion it was also mentioned by Peter that stale events
are not harmful for legacy blockjobs code. I also removed previous attempts to
eliminate some of stale events.
I still keep patch for virDomainGetBlockJobInfo. May be in comparsion to [*]
the approach the patch takes will look not so bad :)
[1] First version of the patch series
https://www.redhat.com/archives/libvir-list/2020-October/msg01133.html
Nikolay Shirokovskiy (10):
qemu: add option to process offloaded legacy blockjob event ealier
qemu: reconnect: precreate legacy blockjobs
qemu: remove extra block job finalize on reconnect
qemu: remove stale cleanup in qemuProcessRefreshLegacyBlockjob
qemu: add note for outdated legacy block job events
qemu: use autoptr in qemuProcessRefreshLegacyBlockjobs
qemu: refresh backing chain after block job reconnection
qemu: move code that depends on backing chain appropriately
qemu: fix race on legacy block completion and quering stats [*]
qemu: sync backing chain update in virDomainGetBlockJobInfo
src/qemu/qemu_blockjob.c | 2 +-
src/qemu/qemu_blockjob.h | 7 +++
src/qemu/qemu_driver.c | 50 +++++++++++-----
src/qemu/qemu_process.c | 149 ++++++++++++++++++++++++++++-------------------
4 files changed, 132 insertions(+), 76 deletions(-)
--
1.8.3.1
4 years
[PATCH v2 0/6] add post parse pSeries mem align, when ABI_UPDATE
by Daniel Henrique Barboza
Hi,
This is a follow up of [1] after really comprehending what I
was messing with and what I couldn't do. This version has a
shorter scope, only pSeries guests are being taken care of.
I can send a follow up to handle x86 as well depending on the
popularity of this work.
Patches 1 and 2 moves the existing qemuDomainAlignMemorySizes()
from qemu_command.c to qemuProcessPrepareDomain(). They are
not related/tied to everything else done here and can be pushed
independently if needed.
Patches 3, 4 and 5 are reworking the existing code to be consistent
to our prerrogative of not aligning memory when migrating or
'snapshotting'. No significant behavioral change is done.
Patch 6 is where the bacon is. For new ppc64 guests, without ABI
breakage, the mem alignment that are overshooting the intended
initial memory is fixed.
Test cases were added to help me diagnose and assert what I was
changing and what would remain untouched.
[1] https://www.redhat.com/archives/libvir-list/2020-November/msg00544.html
Daniel Henrique Barboza (6):
qemu_process.c: check migrateURI when setting
VIR_QEMU_PROCESS_START_NEW
qemu: move memory size align to qemuProcessPrepareDomain()
Revert "domain_conf.c: auto-align pSeries NVDIMM in
virDomainMemoryDefPostParse()"
qemuxml2xmltest.c: honor ARG_PARSEFLAGS
qemu_domain.c: post parse pSeries NVDIMM align with PARSE_ABI_UPDATE
qemu_domain.c: align all pSeries mem modules when PARSE_ABI_UPDATE
src/conf/domain_conf.c | 23 +--------
src/qemu/qemu_command.c | 3 --
src/qemu/qemu_domain.c | 39 ++++++++++++++-
src/qemu/qemu_process.c | 11 +++-
...memory-hotplug-nvdimm-ppc64-abi-update.xml | 50 +++++++++++++++++++
...emory-hotplug-ppc64-nonuma-abi-update.args | 34 +++++++++++++
...memory-hotplug-ppc64-nonuma-abi-update.xml | 32 ++++++++++++
tests/qemuxml2argvtest.c | 7 +++
...memory-hotplug-nvdimm-ppc64-abi-update.xml | 50 +++++++++++++++++++
.../memory-hotplug-nvdimm-ppc64.xml | 2 +-
...memory-hotplug-ppc64-nonuma-abi-update.xml | 45 +++++++++++++++++
tests/qemuxml2xmltest.c | 20 +++++++-
12 files changed, 286 insertions(+), 30 deletions(-)
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-ppc64-abi-update.xml
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-ppc64-nonuma-abi-update.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-ppc64-nonuma-abi-update.xml
create mode 100644 tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64-abi-update.xml
create mode 100644 tests/qemuxml2xmloutdata/memory-hotplug-ppc64-nonuma-abi-update.xml
--
2.26.2
4 years
Issue 90 Further Clarifications
by Dustan B Helm
[image: Dustan Helm] <https://gitlab.com/dustan.helm>
Dustan Helm <https://gitlab.com/dustan.helm> @dustan.helm
<https://gitlab.com/dustan.helm> · just now
<https://gitlab.com/libvirt/libvirt/-/issues/90#note_451306432>
<https://gitlab.com/libvirt/libvirt/-/issues/90#>
Before we start making changes and solidifying our XML parameter choices,
we have a few clarifying questions about the issue we'd like to get out of
the way.
1.
In src/qemu/qemu_capabilities.h, we found the string "/* -drive
file.driver=vxhs via query-qmp-schema */" after the QEMU_CAPS_VXHS
declaration. What is the purpose of these strings, and how do we modify
them to make sense for nfs? Would we simply mirror what is done for VXHS,
adding nfs as the protocol instead?
2.
Where is domain XML parsed and formatted? Is that what is referred to by
the schema formats in domaincommon.rng?
3.
In src/qemu/qemu_block.c, the json object arguments currently present in
qemuBlockStorageSourceGetVxHSProps(...) are not the same ones listed in the
example commit. What is the reason for this change, and how should we take
it into account when implementing a new protocol type?
Additionally, we were hoping we could get some clarification on the proper
way to handle submitting patches with multiple commits. If we receive
feedback for only part of a patch, for example, how would we be meant to
update it? Would we simply amend the particular commit that needed updates,
and if so, how do we amend a commit other than the most recent commit?
Should we send in our patches for review one at a time, or try to get all
of them made and then send them in all at once?
4 years
[PATCH 00/18] qapi/qom: QAPIfy object-add
by Kevin Wolf
This series adds a QAPI type for the properties of all user creatable
QOM types and finally makes QMP object-add use the new ObjectOptions
union so that QAPI introspection can be used for user creatable objects.
If you are in the CC list and didn't expect this series, it's probably
because you're the maintainer of one of the objects for which I'm adding
a QAPI schema description. Please just have a look at the specific patch
for your object and check whether the schema and its documentation make
sense to you. You can ignore all other patches.
After this series, there is least one obvious next step that needs to be
done: Change HMP and all of the command line parser to use
ObjectOptions, too, so that the QAPI schema is consistently enforced in
all external interfaces. I am planning to send another series to address
this.
In a third step, we can try to start deduplicating and integrating things
better between QAPI and the QOM implementation, e.g. by generating parts
of the QOM boilerplate from the QAPI schema.
Kevin Wolf (18):
qapi/qom: Add ObjectOptions for iothread
qapi/qom: Add ObjectOptions for authz-*
qapi/qom: Add ObjectOptions for cryptodev-*
qapi/qom: Add ObjectOptions for dbus-vmstate
qapi/qom: Add ObjectOptions for memory-backend-*
qapi/qom: Add ObjectOptions for rng-*, deprecate 'opened'
qapi/qom: Add ObjectOptions for throttle-group
qapi/qom: Add ObjectOptions for secret*, deprecate 'loaded'
qapi/qom: Add ObjectOptions for tls-*, deprecate 'loaded'
qapi/qom: Add ObjectOptions for can-*
qapi/qom: Add ObjectOptions for colo-compare
qapi/qom: Add ObjectOptions for filter-*
qapi/qom: Add ObjectOptions for pr-manager-helper
qapi/qom: Add ObjectOptions for sev-guest
qapi/qom: Add ObjectOptions for input-*
tests: Drop 'props' from object-add calls
qapi/qom: Drop deprecated 'props' from object-add
qapi/qom: QAPIfy object-add
qapi/authz.json | 62 +++
qapi/block-core.json | 12 +
qapi/common.json | 52 +++
qapi/crypto.json | 159 +++++++
qapi/machine.json | 22 +-
qapi/net.json | 20 -
qapi/qom.json | 609 ++++++++++++++++++++++++++-
qapi/ui.json | 13 +-
docs/system/deprecated.rst | 29 +-
include/qom/object_interfaces.h | 7 -
hw/block/xen-block.c | 16 +-
monitor/misc.c | 2 -
qom/qom-qmp-cmds.c | 44 +-
tests/qtest/qmp-cmd-test.c | 16 +-
tests/qtest/test-netfilter.c | 54 ++-
storage-daemon/qapi/qapi-schema.json | 1 +
tests/qemu-iotests/087 | 8 +-
tests/qemu-iotests/184 | 18 +-
tests/qemu-iotests/218 | 2 +-
tests/qemu-iotests/235 | 2 +-
tests/qemu-iotests/245 | 4 +-
tests/qemu-iotests/258 | 6 +-
tests/qemu-iotests/258.out | 4 +-
tests/qemu-iotests/295 | 2 +-
tests/qemu-iotests/296 | 2 +-
25 files changed, 993 insertions(+), 173 deletions(-)
--
2.28.0
4 years
[PATCH libvirt v2 00/11] Support AP card, AP queues and AP matrix
by Shalini Chellathurai Saroja
Add support for AP card devices, AP queues and AP matrix devices in
libvirt node device driver.
---
v2:
- The tests included in the patches to detect the node devices (AP
card, AP queues and AP matrix) are moved to separate patches.
These patches are not divided further due to the following reasons:
- The previous patches that add support for node devices in
libvirt are not divided further into smaller patches (eg:
53aec799fa31711ffaeacc7ec17ec6d3c2e3cadf).
- It would be easier to identify the patches relevant to support
AP node devices.
- The number of lines in each of these patches are around 125,
which is not too much.
- Modified according to review comments.
- New patch to detect mdev_types capabilty of AP matrix device is
added to this patch series.
Boris Fiuczynski (1):
node_device: detecting mdev_types capability on ap_matrix device
Farhan Ali (1):
virsh: nodedev: Filter by AP card and AP queue capabilities
Shalini Chellathurai Saroja (9):
nodedev: detect AP card device
tests: AP card node device
nodedev: detect AP queues
tests: AP queue node device
nodedev: detect AP matrix device
tests: AP matrix node device
virsh: nodedev: filter by AP Matrix capability
node_device: refactor address retrieval of node device
node_device: mdev matrix support
docs/formatnode.html.in | 44 +++-
docs/manpages/virsh.rst | 2 +-
docs/schemas/nodedev.rng | 70 +++++-
include/libvirt/libvirt-nodedev.h | 3 +
src/conf/node_device_conf.c | 213 +++++++++++++++++-
src/conf/node_device_conf.h | 41 +++-
src/conf/virnodedeviceobj.c | 13 +-
src/libvirt-nodedev.c | 3 +
src/libvirt_private.syms | 1 +
src/node_device/node_device_driver.c | 33 ++-
src/node_device/node_device_udev.c | 83 +++++++
tests/nodedevschemadata/ap_07_0038.xml | 9 +
tests/nodedevschemadata/ap_card07.xml | 8 +
tests/nodedevschemadata/ap_matrix.xml | 7 +
.../ap_matrix_mdev_types.xml | 14 ++
...v_ee0b88c4_f554_4dc1_809d_b2a01e8e48ad.xml | 9 +
tests/nodedevxml2xmltest.c | 5 +
tools/virsh-nodedev.c | 9 +
18 files changed, 554 insertions(+), 13 deletions(-)
create mode 100644 tests/nodedevschemadata/ap_07_0038.xml
create mode 100644 tests/nodedevschemadata/ap_card07.xml
create mode 100644 tests/nodedevschemadata/ap_matrix.xml
create mode 100644 tests/nodedevschemadata/ap_matrix_mdev_types.xml
create mode 100644 tests/nodedevschemadata/mdev_ee0b88c4_f554_4dc1_809d_b2a01e8e48ad.xml
--
2.26.2
4 years
[PATCH libvirt v3 00/11] Support AP card, AP queues and AP matrix
by Shalini Chellathurai Saroja
Add support for AP card devices, AP queues and AP matrix devices in
libvirt node device driver.
---
v3:
- Modify schema definition of ap-adapter to support hex values alone.
- Modify schema definition of ap-domain to support hex values alone.
- Verify domain value of AP queue device to be within the supported
range during parsing.
- Re-organized patches 6 and 10 according to review comment.
- Minor changes according to review comments.
v2:
- The tests included in the patches to detect the node devices (AP
card, AP queues and AP matrix) are moved to separate patches.
These patches are not divided further due to the following reasons:
- The previous patches that add support for node devices in
libvirt are not divided further into smaller patches (eg:
53aec799fa31711ffaeacc7ec17ec6d3c2e3cadf).
- It would be easier to identify the patches relevant to support
AP node devices.
- The number of lines in each of these patches are around 125,
which is not too much.
- Modified according to review comments.
- New patch to detect mdev_types capabilty of AP matrix device is
added to this patch series.
Boris Fiuczynski (1):
node_device: detecting mdev_types capability on ap_matrix device
Farhan Ali (1):
virsh: nodedev: Filter by AP card and AP queue capabilities
Shalini Chellathurai Saroja (9):
nodedev: detect AP card device
tests: AP card node device
nodedev: detect AP queues
tests: AP queue node device
nodedev: detect AP matrix device
tests: AP matrix node device
virsh: nodedev: filter by AP Matrix capability
node_device: refactor address retrieval of node device
node_device: mdev matrix support
docs/formatnode.html.in | 48 +++-
docs/manpages/virsh.rst | 2 +-
docs/schemas/nodedev.rng | 46 ++++
include/libvirt/libvirt-nodedev.h | 3 +
src/conf/node_device_conf.c | 218 ++++++++++++++++++
src/conf/node_device_conf.h | 41 +++-
src/conf/virnodedeviceobj.c | 13 +-
src/libvirt-nodedev.c | 3 +
src/libvirt_private.syms | 1 +
src/node_device/node_device_driver.c | 33 ++-
src/node_device/node_device_udev.c | 86 +++++++
tests/nodedevschemadata/ap_07_0038.xml | 9 +
tests/nodedevschemadata/ap_card07.xml | 8 +
tests/nodedevschemadata/ap_matrix.xml | 7 +
.../ap_matrix_mdev_types.xml | 14 ++
...v_ee0b88c4_f554_4dc1_809d_b2a01e8e48ad.xml | 9 +
tests/nodedevxml2xmltest.c | 5 +
tools/virsh-nodedev.c | 9 +
18 files changed, 549 insertions(+), 6 deletions(-)
create mode 100644 tests/nodedevschemadata/ap_07_0038.xml
create mode 100644 tests/nodedevschemadata/ap_card07.xml
create mode 100644 tests/nodedevschemadata/ap_matrix.xml
create mode 100644 tests/nodedevschemadata/ap_matrix_mdev_types.xml
create mode 100644 tests/nodedevschemadata/mdev_ee0b88c4_f554_4dc1_809d_b2a01e8e48ad.xml
--
2.26.2
4 years