[libvirt] [PATCH 0/4] libxl: add support for max grant frames

This patch series takes the long road on the way to adding support for Xen's max_grant_frames to libvirt. Patch1 adds a new 'xenbus' controller type that supports a maxGrantFrames attribute. maxGrantFrames describes the maximum IO buffer space (or DMA space) available in the xenbus controller for use by connected paravirtual devices. Patch2 adds a xenbus controller to the domXML in post-parse callback if one is not explicitly specified, with downside of requiring touching all test files. Patch3 adds support for max grant frames in the libxl driver and a test to check the libxl domain config generator. Patch4 adds support for the setting on the domXML<->native config converter and also includes a test. Jim Fehlig (4): conf: Add a new 'xenbus' controller type libxl: Add implicit xenbus controller libxl: Add support for max_grant_frames xenconfig: Add support for max_grant_frames docs/formatdomain.html.in | 6 ++ docs/schemas/domaincommon.rng | 11 +++ src/conf/domain_conf.c | 25 ++++++ src/conf/domain_conf.h | 8 ++ src/libxl/libxl_conf.c | 9 ++ src/libxl/libxl_domain.c | 5 ++ src/qemu/qemu_command.c | 1 + src/qemu/qemu_domain.c | 2 + src/qemu/qemu_domain_address.c | 1 + src/xenconfig/xen_xl.c | 56 ++++++++++++ .../max-gntframes-hvm.json | 90 +++++++++++++++++++ .../max-gntframes-hvm.xml | 37 ++++++++ tests/libxlxml2domconfigtest.c | 3 + tests/sexpr2xmldata/sexpr2xml-boot-grub.xml | 1 + .../sexpr2xmldata/sexpr2xml-bridge-ipaddr.xml | 1 + tests/sexpr2xmldata/sexpr2xml-curmem.xml | 1 + .../sexpr2xml-disk-block-shareable.xml | 1 + tests/sexpr2xmldata/sexpr2xml-disk-block.xml | 1 + .../sexpr2xml-disk-drv-blktap-qcow.xml | 1 + .../sexpr2xml-disk-drv-blktap-raw.xml | 1 + .../sexpr2xml-disk-drv-blktap2-raw.xml | 1 + tests/sexpr2xmldata/sexpr2xml-disk-file.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml | 1 + .../sexpr2xml-fv-empty-kernel.xml | 1 + .../sexpr2xmldata/sexpr2xml-fv-force-hpet.xml | 1 + .../sexpr2xml-fv-force-nohpet.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-kernel.xml | 1 + .../sexpr2xmldata/sexpr2xml-fv-localtime.xml | 1 + .../sexpr2xml-fv-net-netfront.xml | 1 + .../sexpr2xml-fv-parallel-tcp.xml | 1 + .../sexpr2xml-fv-serial-dev-2-ports.xml | 1 + .../sexpr2xml-fv-serial-dev-2nd-port.xml | 1 + .../sexpr2xml-fv-serial-file.xml | 1 + .../sexpr2xml-fv-serial-null.xml | 1 + .../sexpr2xml-fv-serial-pipe.xml | 1 + .../sexpr2xmldata/sexpr2xml-fv-serial-pty.xml | 1 + .../sexpr2xml-fv-serial-stdio.xml | 1 + .../sexpr2xml-fv-serial-tcp-telnet.xml | 1 + .../sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml | 1 + .../sexpr2xmldata/sexpr2xml-fv-serial-udp.xml | 1 + .../sexpr2xml-fv-serial-unix.xml | 1 + .../sexpr2xmldata/sexpr2xml-fv-sound-all.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-sound.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml | 1 + .../sexpr2xmldata/sexpr2xml-fv-usbtablet.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-utc.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-v2.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv.xml | 1 + tests/sexpr2xmldata/sexpr2xml-net-bridged.xml | 1 + tests/sexpr2xmldata/sexpr2xml-net-e1000.xml | 1 + tests/sexpr2xmldata/sexpr2xml-net-routed.xml | 1 + .../sexpr2xml-no-source-cdrom.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pci-devs.xml | 1 + .../sexpr2xml-pv-bootloader-cmdline.xml | 1 + .../sexpr2xmldata/sexpr2xml-pv-bootloader.xml | 1 + .../sexpr2xmldata/sexpr2xml-pv-localtime.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pv-vcpus.xml | 1 + .../sexpr2xml-pv-vfb-new-vncdisplay.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml | 1 + .../sexpr2xml-pv-vfb-type-crash.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pv.xml | 1 + tests/sexpr2xmldata/sexpr2xml-vif-rate.xml | 1 + tests/xlconfigdata/test-channel-pty.xml | 1 + tests/xlconfigdata/test-channel-unix.xml | 1 + .../test-disk-positional-parms-full.xml | 1 + .../test-disk-positional-parms-partial.xml | 1 + tests/xlconfigdata/test-disk-qed.xml | 1 + tests/xlconfigdata/test-fullvirt-cpuid.xml | 1 + ...ullvirt-direct-kernel-boot-bogus-extra.xml | 1 + ...test-fullvirt-direct-kernel-boot-extra.xml | 1 + .../test-fullvirt-direct-kernel-boot.xml | 1 + .../xlconfigdata/test-fullvirt-hpet-timer.xml | 1 + .../test-fullvirt-multi-timer.xml | 1 + .../test-fullvirt-multiserial.xml | 1 + tests/xlconfigdata/test-fullvirt-multiusb.xml | 1 + .../test-fullvirt-nestedhvm-disabled.xml | 1 + .../xlconfigdata/test-fullvirt-nestedhvm.xml | 1 + tests/xlconfigdata/test-fullvirt-nohap.xml | 1 + tests/xlconfigdata/test-fullvirt-ovmf.xml | 1 + .../test-fullvirt-ovswitch-tagged.xml | 1 + .../test-fullvirt-ovswitch-trunked.xml | 1 + .../xlconfigdata/test-fullvirt-tsc-timer.xml | 1 + tests/xlconfigdata/test-fullvirt-type.xml | 1 + tests/xlconfigdata/test-fullvirt-vnuma.xml | 1 + tests/xlconfigdata/test-max-gntframes.cfg | 13 +++ tests/xlconfigdata/test-max-gntframes.xml | 32 +++++++ tests/xlconfigdata/test-new-disk.xml | 1 + ...test-paravirt-cmdline-bogus-extra-root.xml | 1 + .../test-paravirt-cmdline-extra-root.xml | 1 + tests/xlconfigdata/test-paravirt-cmdline.xml | 1 + tests/xlconfigdata/test-paravirt-maxvcpus.xml | 1 + tests/xlconfigdata/test-paravirt-type.xml | 1 + tests/xlconfigdata/test-pvh-type.xml | 1 + .../test-rbd-multihost-noauth.xml | 1 + tests/xlconfigdata/test-spice-features.xml | 1 + tests/xlconfigdata/test-spice.xml | 1 + tests/xlconfigdata/test-usb.xml | 1 + tests/xlconfigdata/test-usbctrl.xml | 1 + tests/xlconfigdata/test-vif-multi-ip.xml | 1 + tests/xlconfigdata/test-vif-rate.xml | 1 + tests/xlconfigdata/test-vif-typename.xml | 1 + tests/xlconfigtest.c | 4 + .../xmconfigdata/test-disk-drv-blktap-raw.xml | 1 + .../test-disk-drv-blktap2-raw.xml | 1 + tests/xmconfigdata/test-escape-paths.xml | 1 + .../test-fullvirt-default-feature.xml | 1 + .../xmconfigdata/test-fullvirt-force-hpet.xml | 1 + .../test-fullvirt-force-nohpet.xml | 1 + .../xmconfigdata/test-fullvirt-localtime.xml | 1 + .../test-fullvirt-net-netfront.xml | 1 + .../xmconfigdata/test-fullvirt-new-cdrom.xml | 1 + tests/xmconfigdata/test-fullvirt-nohap.xml | 1 + .../test-fullvirt-parallel-tcp.xml | 1 + .../test-fullvirt-serial-file.xml | 1 + .../test-fullvirt-serial-null.xml | 1 + .../test-fullvirt-serial-pipe.xml | 1 + .../xmconfigdata/test-fullvirt-serial-pty.xml | 1 + .../test-fullvirt-serial-stdio.xml | 1 + .../test-fullvirt-serial-tcp-telnet.xml | 1 + .../xmconfigdata/test-fullvirt-serial-tcp.xml | 1 + .../xmconfigdata/test-fullvirt-serial-udp.xml | 1 + .../test-fullvirt-serial-unix.xml | 1 + tests/xmconfigdata/test-fullvirt-sound.xml | 1 + tests/xmconfigdata/test-fullvirt-usbmouse.xml | 1 + .../xmconfigdata/test-fullvirt-usbtablet.xml | 1 + tests/xmconfigdata/test-fullvirt-utc.xml | 1 + tests/xmconfigdata/test-no-source-cdrom.xml | 1 + .../xmconfigdata/test-paravirt-extra-root.xml | 1 + tests/xmconfigdata/test-paravirt-maxvcpus.xml | 1 + .../xmconfigdata/test-paravirt-net-e1000.xml | 1 + .../test-paravirt-net-vifname.xml | 1 + .../test-paravirt-new-pvfb-vncdisplay.xml | 1 + tests/xmconfigdata/test-paravirt-new-pvfb.xml | 1 + tests/xmconfigdata/test-paravirt-root.xml | 1 + tests/xmconfigdata/test-paravirt-vcpu.xml | 1 + tests/xmconfigdata/test-pci-devs.xml | 1 + 136 files changed, 423 insertions(+) create mode 100644 tests/libxlxml2domconfigdata/max-gntframes-hvm.json create mode 100644 tests/libxlxml2domconfigdata/max-gntframes-hvm.xml create mode 100644 tests/xlconfigdata/test-max-gntframes.cfg create mode 100644 tests/xlconfigdata/test-max-gntframes.xml -- 2.20.1

xenbus is virtual controller (akin to virtio controllers) for Xen paravirtual devices. Although all Xen VMs have a xenbus, it has never been modeled in libvirt, or in Xen native VM config format for that matter. Recently there have been requests to support Xen's max_grant_frames setting in libvirt. max_grant_frames is best modeled as an attribute of xenbus. It describes the maximum IO buffer space (or DMA space) available in xenbus for use by connected paravirtual devices. This patch introduces a new xenbus controller type that includes a maxGrantFrames attribute. Signed-off-by: Jim Fehlig <jfehlig@suse.com> --- docs/formatdomain.html.in | 6 ++++++ docs/schemas/domaincommon.rng | 11 +++++++++++ src/conf/domain_conf.c | 25 +++++++++++++++++++++++++ src/conf/domain_conf.h | 8 ++++++++ src/qemu/qemu_command.c | 1 + src/qemu/qemu_domain.c | 2 ++ src/qemu/qemu_domain_address.c | 1 + 7 files changed, 54 insertions(+) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index eb00c01d96..35fcdb2f9e 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -4163,6 +4163,7 @@ <driver iothread='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/> </controller> + <controller type='xenbus' maxGrantFrames='64'/> ... </devices> ...</pre> @@ -4218,6 +4219,11 @@ <dd><span class="since">Since 3.10.0</span> for the vbox driver, the <code>ide</code> controller has an optional attribute <code>model</code>, which is one of "piix3", "piix4" or "ich6".</dd> + <dt><code>xenbus</code></dt> + <dd><span class="since">Since 5.2.0</span>, the <code>xenbus</code> + controller has an optional attribute <code>maxGrantFrames</code>, + which specifies the maximum number of grant frames the controller + makes available for connected devices.</dd> </dl> <p> diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 80f9f84f70..0814a8f9c8 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -2335,6 +2335,17 @@ </attribute> </optional> </group> + <!-- xenbus has an optional attribute "maxGrantFrames" --> + <group> + <attribute name="type"> + <value>xenbus</value> + </attribute> + <optional> + <attribute name="maxGrantFrames"> + <ref name="unsignedInt"/> + </attribute> + </optional> + </group> </choice> <optional> <element name="driver"> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 995f87bcbe..575a73531d 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -347,6 +347,7 @@ VIR_ENUM_IMPL(virDomainController, VIR_DOMAIN_CONTROLLER_TYPE_LAST, "ccid", "usb", "pci", + "xenbus", ); VIR_ENUM_IMPL(virDomainControllerModelPCI, VIR_DOMAIN_CONTROLLER_MODEL_PCI_LAST, @@ -2065,6 +2066,9 @@ virDomainControllerDefNew(virDomainControllerType type) def->opts.pciopts.targetIndex = -1; def->opts.pciopts.numaNode = -1; break; + case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS: + def->opts.xenbusopts.maxGrantFrames = -1; + break; case VIR_DOMAIN_CONTROLLER_TYPE_IDE: case VIR_DOMAIN_CONTROLLER_TYPE_FDC: case VIR_DOMAIN_CONTROLLER_TYPE_SCSI: @@ -10673,6 +10677,20 @@ virDomainControllerDefParseXML(virDomainXMLOptionPtr xmlopt, def->opts.pciopts.numaNode = numaNode; } break; + case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS: { + VIR_AUTOFREE(char *) gntframes = virXMLPropString(node, "maxGrantFrames"); + + if (gntframes) { + int r = virStrToLong_i(gntframes, NULL, 10, + &def->opts.xenbusopts.maxGrantFrames); + if (r != 0 || def->opts.xenbusopts.maxGrantFrames < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Invalid maxGrantFrames: %s"), gntframes); + goto error; + } + } + break; + } default: break; @@ -24267,6 +24285,13 @@ virDomainControllerDefFormat(virBufferPtr buf, } break; + case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS: + if (def->opts.xenbusopts.maxGrantFrames != -1) { + virBufferAsprintf(&attrBuf, " maxGrantFrames='%d'", + def->opts.xenbusopts.maxGrantFrames); + } + break; + default: break; } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index c2dcc87ba1..ab8eb16e45 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -709,6 +709,7 @@ typedef enum { VIR_DOMAIN_CONTROLLER_TYPE_CCID, VIR_DOMAIN_CONTROLLER_TYPE_USB, VIR_DOMAIN_CONTROLLER_TYPE_PCI, + VIR_DOMAIN_CONTROLLER_TYPE_XENBUS, VIR_DOMAIN_CONTROLLER_TYPE_LAST } virDomainControllerType; @@ -852,6 +853,12 @@ struct _virDomainUSBControllerOpts { int ports; /* -1 == undef */ }; +typedef struct _virDomainXenbusControllerOpts virDomainXenbusControllerOpts; +typedef virDomainXenbusControllerOpts *virDomainXenbusControllerOptsPtr; +struct _virDomainXenbusControllerOpts { + int maxGrantFrames; /* -1 == undef */ +}; + /* Stores the virtual disk controller configuration */ struct _virDomainControllerDef { int type; @@ -866,6 +873,7 @@ struct _virDomainControllerDef { virDomainVirtioSerialOpts vioserial; virDomainPCIControllerOpts pciopts; virDomainUSBControllerOpts usbopts; + virDomainXenbusControllerOpts xenbusopts; } opts; virDomainDeviceInfo info; virDomainVirtioOptionsPtr virtio; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 3a2ec7f26c..9644799d0d 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3146,6 +3146,7 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef, case VIR_DOMAIN_CONTROLLER_TYPE_IDE: case VIR_DOMAIN_CONTROLLER_TYPE_FDC: + case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS: case VIR_DOMAIN_CONTROLLER_TYPE_LAST: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unsupported controller type: %s"), diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 44453a5a7a..30b4b72edc 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -5851,6 +5851,7 @@ qemuDomainDeviceDefValidateController(const virDomainControllerDef *controller, case VIR_DOMAIN_CONTROLLER_TYPE_VIRTIO_SERIAL: case VIR_DOMAIN_CONTROLLER_TYPE_CCID: case VIR_DOMAIN_CONTROLLER_TYPE_USB: + case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS: case VIR_DOMAIN_CONTROLLER_TYPE_LAST: break; } @@ -6471,6 +6472,7 @@ qemuDomainControllerDefPostParse(virDomainControllerDefPtr cont, case VIR_DOMAIN_CONTROLLER_TYPE_CCID: case VIR_DOMAIN_CONTROLLER_TYPE_IDE: case VIR_DOMAIN_CONTROLLER_TYPE_FDC: + case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS: case VIR_DOMAIN_CONTROLLER_TYPE_LAST: break; } diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index 4740536d82..3eccf40eb5 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -685,6 +685,7 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDeviceDefPtr dev, case VIR_DOMAIN_CONTROLLER_TYPE_FDC: case VIR_DOMAIN_CONTROLLER_TYPE_CCID: + case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS: case VIR_DOMAIN_CONTROLLER_TYPE_LAST: /* should be 0 */ return pciFlags; -- 2.20.1

On Fri, Mar 08, 2019 at 04:05:55PM -0700, Jim Fehlig wrote:
xenbus is virtual controller (akin to virtio controllers) for Xen paravirtual devices. Although all Xen VMs have a xenbus, it has never been modeled in libvirt, or in Xen native VM config format for that matter.
Recently there have been requests to support Xen's max_grant_frames setting in libvirt. max_grant_frames is best modeled as an attribute of xenbus. It describes the maximum IO buffer space (or DMA space) available in xenbus for use by connected paravirtual devices. This patch introduces a new xenbus controller type that includes a maxGrantFrames attribute.
Signed-off-by: Jim Fehlig <jfehlig@suse.com> ---
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On 3/8/19 5:05 PM, Jim Fehlig wrote:
xenbus is virtual controller (akin to virtio controllers) for Xen paravirtual devices. Although all Xen VMs have a xenbus, it has never been modeled in libvirt, or in Xen native VM config format for that matter.
Recently there have been requests to support Xen's max_grant_frames setting in libvirt. max_grant_frames is best modeled as an attribute of xenbus. It describes the maximum IO buffer space (or DMA space) available in xenbus for use by connected paravirtual devices. This patch introduces a new xenbus controller type that includes a maxGrantFrames attribute.
Signed-off-by: Jim Fehlig <jfehlig@suse.com> ---
With this patch applied, I'm now getting compilation failures on Fedora 29 with gcc 8.3.1: vbox/vbox_common.c: In function 'vboxSetStorageController': vbox/vbox_common.c:355:5: error: enumeration value 'VIR_DOMAIN_CONTROLLER_TYPE_XENBUS' not handled in switch [-Werror=switch] switch ((virDomainControllerType) controller->type) { ^~~~~~ CC vbox/libvirt_driver_vbox_impl_la-vbox_storage.lo I'm pushing this as the obvious fix under the build-breaker rule: diff --git i/src/vbox/vbox_common.c w/src/vbox/vbox_common.c index c410514d37..b8dfb55ef4 100644 --- i/src/vbox/vbox_common.c +++ w/src/vbox/vbox_common.c @@ -377,6 +377,7 @@ vboxSetStorageController(virDomainControllerDefPtr controller, case VIR_DOMAIN_CONTROLLER_TYPE_CCID: case VIR_DOMAIN_CONTROLLER_TYPE_USB: case VIR_DOMAIN_CONTROLLER_TYPE_PCI: + case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS: case VIR_DOMAIN_CONTROLLER_TYPE_LAST: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("The vbox driver does not support %s controller type"), -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org

On 3/13/19 7:17 PM, Eric Blake wrote:
On 3/8/19 5:05 PM, Jim Fehlig wrote:
xenbus is virtual controller (akin to virtio controllers) for Xen paravirtual devices. Although all Xen VMs have a xenbus, it has never been modeled in libvirt, or in Xen native VM config format for that matter.
Recently there have been requests to support Xen's max_grant_frames setting in libvirt. max_grant_frames is best modeled as an attribute of xenbus. It describes the maximum IO buffer space (or DMA space) available in xenbus for use by connected paravirtual devices. This patch introduces a new xenbus controller type that includes a maxGrantFrames attribute.
Signed-off-by: Jim Fehlig <jfehlig@suse.com> ---
With this patch applied, I'm now getting compilation failures on Fedora 29 with gcc 8.3.1:
vbox/vbox_common.c: In function 'vboxSetStorageController': vbox/vbox_common.c:355:5: error: enumeration value 'VIR_DOMAIN_CONTROLLER_TYPE_XENBUS' not handled in switch [-Werror=switch] switch ((virDomainControllerType) controller->type) { ^~~~~~ CC vbox/libvirt_driver_vbox_impl_la-vbox_storage.lo
Opps, I had the vbox driver disabled :-(. I just verified there are no other spots I missed due to disabled code.
I'm pushing this as the obvious fix under the build-breaker rule:
Thanks! Regards, Jim
diff --git i/src/vbox/vbox_common.c w/src/vbox/vbox_common.c index c410514d37..b8dfb55ef4 100644 --- i/src/vbox/vbox_common.c +++ w/src/vbox/vbox_common.c @@ -377,6 +377,7 @@ vboxSetStorageController(virDomainControllerDefPtr controller, case VIR_DOMAIN_CONTROLLER_TYPE_CCID: case VIR_DOMAIN_CONTROLLER_TYPE_USB: case VIR_DOMAIN_CONTROLLER_TYPE_PCI: + case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS: case VIR_DOMAIN_CONTROLLER_TYPE_LAST: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("The vbox driver does not support %s controller type"),

All Xen domains have a xenbus device. Implicitly add one if not already explicitly specified in the domain config. Signed-off-by: Jim Fehlig <jfehlig@suse.com> --- Lot's of test churn!! src/libxl/libxl_domain.c | 5 +++++ tests/sexpr2xmldata/sexpr2xml-boot-grub.xml | 1 + tests/sexpr2xmldata/sexpr2xml-bridge-ipaddr.xml | 1 + tests/sexpr2xmldata/sexpr2xml-curmem.xml | 1 + tests/sexpr2xmldata/sexpr2xml-disk-block-shareable.xml | 1 + tests/sexpr2xmldata/sexpr2xml-disk-block.xml | 1 + tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-qcow.xml | 1 + tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-raw.xml | 1 + tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap2-raw.xml | 1 + tests/sexpr2xmldata/sexpr2xml-disk-file.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-kernel.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-sound.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-utc.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv-v2.xml | 1 + tests/sexpr2xmldata/sexpr2xml-fv.xml | 1 + tests/sexpr2xmldata/sexpr2xml-net-bridged.xml | 1 + tests/sexpr2xmldata/sexpr2xml-net-e1000.xml | 1 + tests/sexpr2xmldata/sexpr2xml-net-routed.xml | 1 + tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pci-devs.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pv-bootloader-cmdline.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pv-localtime.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pv-vcpus.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pv-vfb-new-vncdisplay.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml | 1 + tests/sexpr2xmldata/sexpr2xml-pv.xml | 1 + tests/sexpr2xmldata/sexpr2xml-vif-rate.xml | 1 + tests/xlconfigdata/test-channel-pty.xml | 1 + tests/xlconfigdata/test-channel-unix.xml | 1 + tests/xlconfigdata/test-disk-positional-parms-full.xml | 1 + tests/xlconfigdata/test-disk-positional-parms-partial.xml | 1 + tests/xlconfigdata/test-disk-qed.xml | 1 + tests/xlconfigdata/test-fullvirt-cpuid.xml | 1 + .../test-fullvirt-direct-kernel-boot-bogus-extra.xml | 1 + .../xlconfigdata/test-fullvirt-direct-kernel-boot-extra.xml | 1 + tests/xlconfigdata/test-fullvirt-direct-kernel-boot.xml | 1 + tests/xlconfigdata/test-fullvirt-hpet-timer.xml | 1 + tests/xlconfigdata/test-fullvirt-multi-timer.xml | 1 + tests/xlconfigdata/test-fullvirt-multiserial.xml | 1 + tests/xlconfigdata/test-fullvirt-multiusb.xml | 1 + tests/xlconfigdata/test-fullvirt-nestedhvm-disabled.xml | 1 + tests/xlconfigdata/test-fullvirt-nestedhvm.xml | 1 + tests/xlconfigdata/test-fullvirt-nohap.xml | 1 + tests/xlconfigdata/test-fullvirt-ovmf.xml | 1 + tests/xlconfigdata/test-fullvirt-ovswitch-tagged.xml | 1 + tests/xlconfigdata/test-fullvirt-ovswitch-trunked.xml | 1 + tests/xlconfigdata/test-fullvirt-tsc-timer.xml | 1 + tests/xlconfigdata/test-fullvirt-type.xml | 1 + tests/xlconfigdata/test-fullvirt-vnuma.xml | 1 + tests/xlconfigdata/test-new-disk.xml | 1 + .../xlconfigdata/test-paravirt-cmdline-bogus-extra-root.xml | 1 + tests/xlconfigdata/test-paravirt-cmdline-extra-root.xml | 1 + tests/xlconfigdata/test-paravirt-cmdline.xml | 1 + tests/xlconfigdata/test-paravirt-maxvcpus.xml | 1 + tests/xlconfigdata/test-paravirt-type.xml | 1 + tests/xlconfigdata/test-pvh-type.xml | 1 + tests/xlconfigdata/test-rbd-multihost-noauth.xml | 1 + tests/xlconfigdata/test-spice-features.xml | 1 + tests/xlconfigdata/test-spice.xml | 1 + tests/xlconfigdata/test-usb.xml | 1 + tests/xlconfigdata/test-usbctrl.xml | 1 + tests/xlconfigdata/test-vif-multi-ip.xml | 1 + tests/xlconfigdata/test-vif-rate.xml | 1 + tests/xlconfigdata/test-vif-typename.xml | 1 + tests/xmconfigdata/test-disk-drv-blktap-raw.xml | 1 + tests/xmconfigdata/test-disk-drv-blktap2-raw.xml | 1 + tests/xmconfigdata/test-escape-paths.xml | 1 + tests/xmconfigdata/test-fullvirt-default-feature.xml | 1 + tests/xmconfigdata/test-fullvirt-force-hpet.xml | 1 + tests/xmconfigdata/test-fullvirt-force-nohpet.xml | 1 + tests/xmconfigdata/test-fullvirt-localtime.xml | 1 + tests/xmconfigdata/test-fullvirt-net-netfront.xml | 1 + tests/xmconfigdata/test-fullvirt-new-cdrom.xml | 1 + tests/xmconfigdata/test-fullvirt-nohap.xml | 1 + tests/xmconfigdata/test-fullvirt-parallel-tcp.xml | 1 + tests/xmconfigdata/test-fullvirt-serial-file.xml | 1 + tests/xmconfigdata/test-fullvirt-serial-null.xml | 1 + tests/xmconfigdata/test-fullvirt-serial-pipe.xml | 1 + tests/xmconfigdata/test-fullvirt-serial-pty.xml | 1 + tests/xmconfigdata/test-fullvirt-serial-stdio.xml | 1 + tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.xml | 1 + tests/xmconfigdata/test-fullvirt-serial-tcp.xml | 1 + tests/xmconfigdata/test-fullvirt-serial-udp.xml | 1 + tests/xmconfigdata/test-fullvirt-serial-unix.xml | 1 + tests/xmconfigdata/test-fullvirt-sound.xml | 1 + tests/xmconfigdata/test-fullvirt-usbmouse.xml | 1 + tests/xmconfigdata/test-fullvirt-usbtablet.xml | 1 + tests/xmconfigdata/test-fullvirt-utc.xml | 1 + tests/xmconfigdata/test-no-source-cdrom.xml | 1 + tests/xmconfigdata/test-paravirt-extra-root.xml | 1 + tests/xmconfigdata/test-paravirt-maxvcpus.xml | 1 + tests/xmconfigdata/test-paravirt-net-e1000.xml | 1 + tests/xmconfigdata/test-paravirt-net-vifname.xml | 1 + tests/xmconfigdata/test-paravirt-new-pvfb-vncdisplay.xml | 1 + tests/xmconfigdata/test-paravirt-new-pvfb.xml | 1 + tests/xmconfigdata/test-paravirt-root.xml | 1 + tests/xmconfigdata/test-paravirt-vcpu.xml | 1 + tests/xmconfigdata/test-pci-devs.xml | 1 + 121 files changed, 125 insertions(+) diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index ffafa7967d..287406d323 100644 --- a/src/libxl/libxl_domain.c +++ b/src/libxl/libxl_domain.c @@ -417,6 +417,11 @@ libxlDomainDefPostParse(virDomainDefPtr def, def->memballoon = memballoon; } + /* add implicit xenbus device */ + if (virDomainControllerFindByType(def, VIR_DOMAIN_CONTROLLER_TYPE_XENBUS) == -1) + if (virDomainDefAddController(def, VIR_DOMAIN_CONTROLLER_TYPE_XENBUS, -1, -1) == NULL) + return -1; + return 0; } diff --git a/tests/sexpr2xmldata/sexpr2xml-boot-grub.xml b/tests/sexpr2xmldata/sexpr2xml-boot-grub.xml index 5524af8e2c..0889c68ed0 100644 --- a/tests/sexpr2xmldata/sexpr2xml-boot-grub.xml +++ b/tests/sexpr2xmldata/sexpr2xml-boot-grub.xml @@ -19,6 +19,7 @@ <source dev='/dev/MainVG/GuestVG'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-bridge-ipaddr.xml b/tests/sexpr2xmldata/sexpr2xml-bridge-ipaddr.xml index c9ab2df511..9c83847afe 100644 --- a/tests/sexpr2xmldata/sexpr2xml-bridge-ipaddr.xml +++ b/tests/sexpr2xmldata/sexpr2xml-bridge-ipaddr.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:11:22:33:44:55'/> <source bridge='xenbr2'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-curmem.xml b/tests/sexpr2xmldata/sexpr2xml-curmem.xml index a976986a12..e091829444 100644 --- a/tests/sexpr2xmldata/sexpr2xml-curmem.xml +++ b/tests/sexpr2xmldata/sexpr2xml-curmem.xml @@ -21,6 +21,7 @@ <source file='/xen/rhel5.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1d:06:15'/> <source bridge='xenbr0'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-disk-block-shareable.xml b/tests/sexpr2xmldata/sexpr2xml-disk-block-shareable.xml index 9f757efa2d..800b583192 100644 --- a/tests/sexpr2xmldata/sexpr2xml-disk-block-shareable.xml +++ b/tests/sexpr2xmldata/sexpr2xml-disk-block-shareable.xml @@ -19,6 +19,7 @@ <target dev='xvda' bus='xen'/> <shareable/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:23:9e:eb'/> <source bridge='xenbr0'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-disk-block.xml b/tests/sexpr2xmldata/sexpr2xml-disk-block.xml index edca582418..e8a236e3d1 100644 --- a/tests/sexpr2xmldata/sexpr2xml-disk-block.xml +++ b/tests/sexpr2xmldata/sexpr2xml-disk-block.xml @@ -20,6 +20,7 @@ <source dev='/dev/MainVG/GuestVG'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-qcow.xml b/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-qcow.xml index 80f6dd205f..57bb88cd2b 100644 --- a/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-qcow.xml +++ b/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-qcow.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-raw.xml b/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-raw.xml index 71e7c40b63..c390053e82 100644 --- a/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-raw.xml +++ b/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-raw.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap2-raw.xml b/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap2-raw.xml index bd244bbc39..3a44af0760 100644 --- a/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap2-raw.xml +++ b/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap2-raw.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-disk-file.xml b/tests/sexpr2xmldata/sexpr2xml-disk-file.xml index 48fee36117..9aae240832 100644 --- a/tests/sexpr2xmldata/sexpr2xml-disk-file.xml +++ b/tests/sexpr2xmldata/sexpr2xml-disk-file.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml b/tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml index cf6683feea..20d60602d3 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:e8:18'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml b/tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml index dd5b46a6a9..7cc4381885 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml b/tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml index 4c120674b5..831417107d 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml b/tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml index 5652e9a692..f1af499d07 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-kernel.xml b/tests/sexpr2xmldata/sexpr2xml-fv-kernel.xml index a3d54ae3c1..95fab2f9c1 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-kernel.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-kernel.xml @@ -22,6 +22,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <serial type='pty'> <target port='0'/> </serial> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml b/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml index d985afbf13..d4bc171aed 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml b/tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml index c15fe80a1b..058299af7c 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml b/tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml index 2c4fd687a0..9af01d072c 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml index d72e503f8a..e352250696 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml index 860d24e055..51d2a7c2d7 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml index c56e5432ce..cce3a9e0b4 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml index 0615bf4b34..d68bfa89ae 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml index 00518e62f3..5ab4048d29 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml index e9d3c0e6a6..89d371dc36 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml index 5cdcd25d97..9482ceccb2 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml index 8457f49f8c..ae7a4c54e0 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml index 973f8c1cdd..20cbdb6815 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml index 2f14f17be5..ece6a2684e 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml index c2f32144e7..2740e99d70 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml b/tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml index c2ea63f3b1..d6f0bf0e67 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-sound.xml b/tests/sexpr2xmldata/sexpr2xml-fv-sound.xml index c2ea63f3b1..d6f0bf0e67 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-sound.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-sound.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml b/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml index 1f919b8c07..f32754b88c 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml b/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml index 639517ee3a..f16804d9ba 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml b/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml index d281090c65..0ef29a6f5d 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml b/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml index d281090c65..0ef29a6f5d 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-fv.xml b/tests/sexpr2xmldata/sexpr2xml-fv.xml index d281090c65..0ef29a6f5d 100644 --- a/tests/sexpr2xmldata/sexpr2xml-fv.xml +++ b/tests/sexpr2xmldata/sexpr2xml-fv.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-net-bridged.xml b/tests/sexpr2xmldata/sexpr2xml-net-bridged.xml index c97eeb0a12..2c07e15859 100644 --- a/tests/sexpr2xmldata/sexpr2xml-net-bridged.xml +++ b/tests/sexpr2xmldata/sexpr2xml-net-bridged.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:11:22:33:44:55'/> <source bridge='xenbr2'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-net-e1000.xml b/tests/sexpr2xmldata/sexpr2xml-net-e1000.xml index ba9a0b2f16..3f79e86444 100644 --- a/tests/sexpr2xmldata/sexpr2xml-net-e1000.xml +++ b/tests/sexpr2xmldata/sexpr2xml-net-e1000.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:11:22:33:44:55'/> <source bridge='xenbr2'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-net-routed.xml b/tests/sexpr2xmldata/sexpr2xml-net-routed.xml index db15b9ddba..a2975fb31d 100644 --- a/tests/sexpr2xmldata/sexpr2xml-net-routed.xml +++ b/tests/sexpr2xmldata/sexpr2xml-net-routed.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='ethernet'> <mac address='00:11:22:33:44:55'/> <ip address='172.14.5.6' family='ipv4'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml b/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml index a02104d0df..ae61449a90 100644 --- a/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml +++ b/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml @@ -32,6 +32,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:0a:7b:39'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-pci-devs.xml b/tests/sexpr2xmldata/sexpr2xml-pci-devs.xml index ab46fb9170..4606b6ccbd 100644 --- a/tests/sexpr2xmldata/sexpr2xml-pci-devs.xml +++ b/tests/sexpr2xmldata/sexpr2xml-pci-devs.xml @@ -20,6 +20,7 @@ <source dev='/dev/MainVG/GuestVG'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-bootloader-cmdline.xml b/tests/sexpr2xmldata/sexpr2xml-pv-bootloader-cmdline.xml index b2b63bc545..5b8bedd788 100644 --- a/tests/sexpr2xmldata/sexpr2xml-pv-bootloader-cmdline.xml +++ b/tests/sexpr2xmldata/sexpr2xml-pv-bootloader-cmdline.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml b/tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml index dac1f924b7..cb4b051e35 100644 --- a/tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml +++ b/tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml @@ -19,6 +19,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-localtime.xml b/tests/sexpr2xmldata/sexpr2xml-pv-localtime.xml index 124bd6f37d..ce057d9538 100644 --- a/tests/sexpr2xmldata/sexpr2xml-pv-localtime.xml +++ b/tests/sexpr2xmldata/sexpr2xml-pv-localtime.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-vcpus.xml b/tests/sexpr2xmldata/sexpr2xml-pv-vcpus.xml index 876a02746c..6d498325e3 100644 --- a/tests/sexpr2xmldata/sexpr2xml-pv-vcpus.xml +++ b/tests/sexpr2xmldata/sexpr2xml-pv-vcpus.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new-vncdisplay.xml b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new-vncdisplay.xml index e2dbfab36a..64e1423f78 100644 --- a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new-vncdisplay.xml +++ b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new-vncdisplay.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml index 3fd66c45e1..ccd6824af3 100644 --- a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml +++ b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml index d9cb6569c5..6ef05534e4 100644 --- a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml +++ b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml @@ -19,6 +19,7 @@ <source dev='/dev/vg_dom0test/test2vm'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:36:68:9f:5d'/> <source bridge='virbr0'/> diff --git a/tests/sexpr2xmldata/sexpr2xml-pv.xml b/tests/sexpr2xmldata/sexpr2xml-pv.xml index 48fee36117..9aae240832 100644 --- a/tests/sexpr2xmldata/sexpr2xml-pv.xml +++ b/tests/sexpr2xmldata/sexpr2xml-pv.xml @@ -20,6 +20,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/sexpr2xmldata/sexpr2xml-vif-rate.xml b/tests/sexpr2xmldata/sexpr2xml-vif-rate.xml index 77be06e94b..4b7cb21031 100644 --- a/tests/sexpr2xmldata/sexpr2xml-vif-rate.xml +++ b/tests/sexpr2xmldata/sexpr2xml-vif-rate.xml @@ -31,6 +31,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:1b:b1:47'/> diff --git a/tests/xlconfigdata/test-channel-pty.xml b/tests/xlconfigdata/test-channel-pty.xml index d1ffb86a1d..96e904d9c7 100644 --- a/tests/xlconfigdata/test-channel-pty.xml +++ b/tests/xlconfigdata/test-channel-pty.xml @@ -18,6 +18,7 @@ <source file='/var/lib/xen/images/debian/disk.qcow2'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='ethernet'> <mac address='5a:36:0e:be:00:09'/> </interface> diff --git a/tests/xlconfigdata/test-channel-unix.xml b/tests/xlconfigdata/test-channel-unix.xml index e7102d23b5..378b265fd7 100644 --- a/tests/xlconfigdata/test-channel-unix.xml +++ b/tests/xlconfigdata/test-channel-unix.xml @@ -18,6 +18,7 @@ <source file='/var/lib/xen/images/debian/disk.qcow2'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='ethernet'> <mac address='5a:36:0e:be:00:09'/> </interface> diff --git a/tests/xlconfigdata/test-disk-positional-parms-full.xml b/tests/xlconfigdata/test-disk-positional-parms-full.xml index bb04ca7109..8961ad5d82 100644 --- a/tests/xlconfigdata/test-disk-positional-parms-full.xml +++ b/tests/xlconfigdata/test-disk-positional-parms-full.xml @@ -39,6 +39,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-disk-positional-parms-partial.xml b/tests/xlconfigdata/test-disk-positional-parms-partial.xml index 14f4a72ae1..308011b015 100644 --- a/tests/xlconfigdata/test-disk-positional-parms-partial.xml +++ b/tests/xlconfigdata/test-disk-positional-parms-partial.xml @@ -45,6 +45,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='1'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-disk-qed.xml b/tests/xlconfigdata/test-disk-qed.xml index 90c0a97ae2..8e782c19c6 100644 --- a/tests/xlconfigdata/test-disk-qed.xml +++ b/tests/xlconfigdata/test-disk-qed.xml @@ -26,6 +26,7 @@ <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-cpuid.xml b/tests/xlconfigdata/test-fullvirt-cpuid.xml index 0979b10fa2..e953e76303 100644 --- a/tests/xlconfigdata/test-fullvirt-cpuid.xml +++ b/tests/xlconfigdata/test-fullvirt-cpuid.xml @@ -23,6 +23,7 @@ <on_crash>restart</on_crash> <devices> <emulator>/usr/lib/xen/bin/qemu-system-i386</emulator> + <controller type='xenbus' index='0'/> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'> diff --git a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-bogus-extra.xml b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-bogus-extra.xml index 8946b1d8cb..41b82387ee 100644 --- a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-bogus-extra.xml +++ b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-bogus-extra.xml @@ -36,6 +36,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-extra.xml b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-extra.xml index 8946b1d8cb..41b82387ee 100644 --- a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-extra.xml +++ b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot-extra.xml @@ -36,6 +36,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.xml b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.xml index 8946b1d8cb..41b82387ee 100644 --- a/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.xml +++ b/tests/xlconfigdata/test-fullvirt-direct-kernel-boot.xml @@ -36,6 +36,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-hpet-timer.xml b/tests/xlconfigdata/test-fullvirt-hpet-timer.xml index 7da464c0ff..51b6994312 100644 --- a/tests/xlconfigdata/test-fullvirt-hpet-timer.xml +++ b/tests/xlconfigdata/test-fullvirt-hpet-timer.xml @@ -42,6 +42,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-multi-timer.xml b/tests/xlconfigdata/test-fullvirt-multi-timer.xml index 9f600755f6..5c9e526fa7 100644 --- a/tests/xlconfigdata/test-fullvirt-multi-timer.xml +++ b/tests/xlconfigdata/test-fullvirt-multi-timer.xml @@ -43,6 +43,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-multiserial.xml b/tests/xlconfigdata/test-fullvirt-multiserial.xml index 120677a468..d099a182c8 100644 --- a/tests/xlconfigdata/test-fullvirt-multiserial.xml +++ b/tests/xlconfigdata/test-fullvirt-multiserial.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-multiusb.xml b/tests/xlconfigdata/test-fullvirt-multiusb.xml index bb7beaa1d3..85f36cf9ed 100644 --- a/tests/xlconfigdata/test-fullvirt-multiusb.xml +++ b/tests/xlconfigdata/test-fullvirt-multiusb.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-nestedhvm-disabled.xml b/tests/xlconfigdata/test-fullvirt-nestedhvm-disabled.xml index 9a0df958e2..439e3b119c 100644 --- a/tests/xlconfigdata/test-fullvirt-nestedhvm-disabled.xml +++ b/tests/xlconfigdata/test-fullvirt-nestedhvm-disabled.xml @@ -42,6 +42,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-nestedhvm.xml b/tests/xlconfigdata/test-fullvirt-nestedhvm.xml index a311314d80..f8412ffce7 100644 --- a/tests/xlconfigdata/test-fullvirt-nestedhvm.xml +++ b/tests/xlconfigdata/test-fullvirt-nestedhvm.xml @@ -40,6 +40,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-nohap.xml b/tests/xlconfigdata/test-fullvirt-nohap.xml index 4f4942fcd7..8167ea0133 100644 --- a/tests/xlconfigdata/test-fullvirt-nohap.xml +++ b/tests/xlconfigdata/test-fullvirt-nohap.xml @@ -40,6 +40,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-ovmf.xml b/tests/xlconfigdata/test-fullvirt-ovmf.xml index 4efdac58bd..8994b3ea36 100644 --- a/tests/xlconfigdata/test-fullvirt-ovmf.xml +++ b/tests/xlconfigdata/test-fullvirt-ovmf.xml @@ -39,6 +39,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.xml b/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.xml index 63f3258b84..3256f616db 100644 --- a/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.xml +++ b/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.xml @@ -26,6 +26,7 @@ <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.xml b/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.xml index 72d547b2c1..46c0a0f8f8 100644 --- a/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.xml +++ b/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.xml @@ -26,6 +26,7 @@ <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-tsc-timer.xml b/tests/xlconfigdata/test-fullvirt-tsc-timer.xml index 6ffcf960fe..f048486380 100644 --- a/tests/xlconfigdata/test-fullvirt-tsc-timer.xml +++ b/tests/xlconfigdata/test-fullvirt-tsc-timer.xml @@ -42,6 +42,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-fullvirt-type.xml b/tests/xlconfigdata/test-fullvirt-type.xml index da8e36001c..6d79300fa9 100644 --- a/tests/xlconfigdata/test-fullvirt-type.xml +++ b/tests/xlconfigdata/test-fullvirt-type.xml @@ -20,6 +20,7 @@ <on_crash>restart</on_crash> <devices> <emulator>/usr/lib/xen/bin/qemu-system-i386</emulator> + <controller type='xenbus' index='0'/> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <memballoon model='xen'/> diff --git a/tests/xlconfigdata/test-fullvirt-vnuma.xml b/tests/xlconfigdata/test-fullvirt-vnuma.xml index fe1904e874..99092817de 100644 --- a/tests/xlconfigdata/test-fullvirt-vnuma.xml +++ b/tests/xlconfigdata/test-fullvirt-vnuma.xml @@ -62,6 +62,7 @@ <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-new-disk.xml b/tests/xlconfigdata/test-new-disk.xml index bb04ca7109..8961ad5d82 100644 --- a/tests/xlconfigdata/test-new-disk.xml +++ b/tests/xlconfigdata/test-new-disk.xml @@ -39,6 +39,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-paravirt-cmdline-bogus-extra-root.xml b/tests/xlconfigdata/test-paravirt-cmdline-bogus-extra-root.xml index c5758e4bb6..a25eb29200 100644 --- a/tests/xlconfigdata/test-paravirt-cmdline-bogus-extra-root.xml +++ b/tests/xlconfigdata/test-paravirt-cmdline-bogus-extra-root.xml @@ -20,6 +20,7 @@ <source file='/dev/HostVG/XenGuest2'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> <source bridge='xenbr1'/> diff --git a/tests/xlconfigdata/test-paravirt-cmdline-extra-root.xml b/tests/xlconfigdata/test-paravirt-cmdline-extra-root.xml index c5758e4bb6..a25eb29200 100644 --- a/tests/xlconfigdata/test-paravirt-cmdline-extra-root.xml +++ b/tests/xlconfigdata/test-paravirt-cmdline-extra-root.xml @@ -20,6 +20,7 @@ <source file='/dev/HostVG/XenGuest2'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> <source bridge='xenbr1'/> diff --git a/tests/xlconfigdata/test-paravirt-cmdline.xml b/tests/xlconfigdata/test-paravirt-cmdline.xml index c5758e4bb6..a25eb29200 100644 --- a/tests/xlconfigdata/test-paravirt-cmdline.xml +++ b/tests/xlconfigdata/test-paravirt-cmdline.xml @@ -20,6 +20,7 @@ <source file='/dev/HostVG/XenGuest2'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> <source bridge='xenbr1'/> diff --git a/tests/xlconfigdata/test-paravirt-maxvcpus.xml b/tests/xlconfigdata/test-paravirt-maxvcpus.xml index ae48ae15b0..1638be1af2 100644 --- a/tests/xlconfigdata/test-paravirt-maxvcpus.xml +++ b/tests/xlconfigdata/test-paravirt-maxvcpus.xml @@ -18,6 +18,7 @@ <source file='/var/lib/xen/images/debian/disk.qcow2'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='ethernet'> <mac address='5a:36:0e:be:00:09'/> </interface> diff --git a/tests/xlconfigdata/test-paravirt-type.xml b/tests/xlconfigdata/test-paravirt-type.xml index 4357640b94..0a201e05d3 100644 --- a/tests/xlconfigdata/test-paravirt-type.xml +++ b/tests/xlconfigdata/test-paravirt-type.xml @@ -15,6 +15,7 @@ <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/xlconfigdata/test-pvh-type.xml b/tests/xlconfigdata/test-pvh-type.xml index dc5f452f10..3ff245b969 100644 --- a/tests/xlconfigdata/test-pvh-type.xml +++ b/tests/xlconfigdata/test-pvh-type.xml @@ -15,6 +15,7 @@ <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> + <controller type='xenbus' index='0'/> <console type='pty'> <target type='xen' port='0'/> </console> diff --git a/tests/xlconfigdata/test-rbd-multihost-noauth.xml b/tests/xlconfigdata/test-rbd-multihost-noauth.xml index 847c7c44bd..df26f6cf02 100644 --- a/tests/xlconfigdata/test-rbd-multihost-noauth.xml +++ b/tests/xlconfigdata/test-rbd-multihost-noauth.xml @@ -36,6 +36,7 @@ <target dev='hdb' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-spice-features.xml b/tests/xlconfigdata/test-spice-features.xml index 6d95afb1fc..11b5f0f665 100644 --- a/tests/xlconfigdata/test-spice-features.xml +++ b/tests/xlconfigdata/test-spice-features.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-spice.xml b/tests/xlconfigdata/test-spice.xml index 2737698ced..745ae3b5c5 100644 --- a/tests/xlconfigdata/test-spice.xml +++ b/tests/xlconfigdata/test-spice.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-usb.xml b/tests/xlconfigdata/test-usb.xml index 5bac73b962..ce925cee25 100644 --- a/tests/xlconfigdata/test-usb.xml +++ b/tests/xlconfigdata/test-usb.xml @@ -18,6 +18,7 @@ <source file='/var/lib/xen/images/debian/disk.qcow2'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='ethernet'> <mac address='5a:36:0e:be:00:09'/> </interface> diff --git a/tests/xlconfigdata/test-usbctrl.xml b/tests/xlconfigdata/test-usbctrl.xml index 5e0346fa52..3fadd7a8cf 100644 --- a/tests/xlconfigdata/test-usbctrl.xml +++ b/tests/xlconfigdata/test-usbctrl.xml @@ -19,6 +19,7 @@ <target dev='xvda' bus='xen'/> </disk> <controller type='usb' index='0' model='qusb2' ports='6'/> + <controller type='xenbus' index='0'/> <interface type='ethernet'> <mac address='5a:36:0e:be:00:09'/> </interface> diff --git a/tests/xlconfigdata/test-vif-multi-ip.xml b/tests/xlconfigdata/test-vif-multi-ip.xml index 2e72d96374..9498518263 100644 --- a/tests/xlconfigdata/test-vif-multi-ip.xml +++ b/tests/xlconfigdata/test-vif-multi-ip.xml @@ -26,6 +26,7 @@ <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-vif-rate.xml b/tests/xlconfigdata/test-vif-rate.xml index 73ed43f431..037d410d13 100644 --- a/tests/xlconfigdata/test-vif-rate.xml +++ b/tests/xlconfigdata/test-vif-rate.xml @@ -39,6 +39,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xlconfigdata/test-vif-typename.xml b/tests/xlconfigdata/test-vif-typename.xml index 1c04354286..d08eff7299 100644 --- a/tests/xlconfigdata/test-vif-typename.xml +++ b/tests/xlconfigdata/test-vif-typename.xml @@ -26,6 +26,7 @@ <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-disk-drv-blktap-raw.xml b/tests/xmconfigdata/test-disk-drv-blktap-raw.xml index fb0cdac7f0..45a0c527f0 100644 --- a/tests/xmconfigdata/test-disk-drv-blktap-raw.xml +++ b/tests/xmconfigdata/test-disk-drv-blktap-raw.xml @@ -18,6 +18,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:94:9c'/> <source bridge='br0'/> diff --git a/tests/xmconfigdata/test-disk-drv-blktap2-raw.xml b/tests/xmconfigdata/test-disk-drv-blktap2-raw.xml index 8e2764aa89..60734d6667 100644 --- a/tests/xmconfigdata/test-disk-drv-blktap2-raw.xml +++ b/tests/xmconfigdata/test-disk-drv-blktap2-raw.xml @@ -18,6 +18,7 @@ <source file='/root/some.img'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:94:9c'/> <source bridge='br0'/> diff --git a/tests/xmconfigdata/test-escape-paths.xml b/tests/xmconfigdata/test-escape-paths.xml index d95d34e031..57930b6913 100644 --- a/tests/xmconfigdata/test-escape-paths.xml +++ b/tests/xmconfigdata/test-escape-paths.xml @@ -39,6 +39,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-default-feature.xml b/tests/xmconfigdata/test-fullvirt-default-feature.xml index fdbba8a3af..ba8d4299a1 100644 --- a/tests/xmconfigdata/test-fullvirt-default-feature.xml +++ b/tests/xmconfigdata/test-fullvirt-default-feature.xml @@ -35,6 +35,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-force-hpet.xml b/tests/xmconfigdata/test-fullvirt-force-hpet.xml index fdbba8a3af..ba8d4299a1 100644 --- a/tests/xmconfigdata/test-fullvirt-force-hpet.xml +++ b/tests/xmconfigdata/test-fullvirt-force-hpet.xml @@ -35,6 +35,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-force-nohpet.xml b/tests/xmconfigdata/test-fullvirt-force-nohpet.xml index e397a869ee..eaf5206227 100644 --- a/tests/xmconfigdata/test-fullvirt-force-nohpet.xml +++ b/tests/xmconfigdata/test-fullvirt-force-nohpet.xml @@ -35,6 +35,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-localtime.xml b/tests/xmconfigdata/test-fullvirt-localtime.xml index 0a42cfd2aa..5574405002 100644 --- a/tests/xmconfigdata/test-fullvirt-localtime.xml +++ b/tests/xmconfigdata/test-fullvirt-localtime.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-net-netfront.xml b/tests/xmconfigdata/test-fullvirt-net-netfront.xml index f57d6eb5ca..fb8d0e017e 100644 --- a/tests/xmconfigdata/test-fullvirt-net-netfront.xml +++ b/tests/xmconfigdata/test-fullvirt-net-netfront.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-new-cdrom.xml b/tests/xmconfigdata/test-fullvirt-new-cdrom.xml index 4a496cebe3..9e44651a4d 100644 --- a/tests/xmconfigdata/test-fullvirt-new-cdrom.xml +++ b/tests/xmconfigdata/test-fullvirt-new-cdrom.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-nohap.xml b/tests/xmconfigdata/test-fullvirt-nohap.xml index d8ac373574..82caa1e842 100644 --- a/tests/xmconfigdata/test-fullvirt-nohap.xml +++ b/tests/xmconfigdata/test-fullvirt-nohap.xml @@ -34,6 +34,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-parallel-tcp.xml b/tests/xmconfigdata/test-fullvirt-parallel-tcp.xml index d2cae8f98b..c96079c5ba 100644 --- a/tests/xmconfigdata/test-fullvirt-parallel-tcp.xml +++ b/tests/xmconfigdata/test-fullvirt-parallel-tcp.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-serial-file.xml b/tests/xmconfigdata/test-fullvirt-serial-file.xml index 4b2b432efd..69b4958f6e 100644 --- a/tests/xmconfigdata/test-fullvirt-serial-file.xml +++ b/tests/xmconfigdata/test-fullvirt-serial-file.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-serial-null.xml b/tests/xmconfigdata/test-fullvirt-serial-null.xml index c657139fdc..3d07c394f8 100644 --- a/tests/xmconfigdata/test-fullvirt-serial-null.xml +++ b/tests/xmconfigdata/test-fullvirt-serial-null.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-serial-pipe.xml b/tests/xmconfigdata/test-fullvirt-serial-pipe.xml index 1cb8804bce..617db43dd1 100644 --- a/tests/xmconfigdata/test-fullvirt-serial-pipe.xml +++ b/tests/xmconfigdata/test-fullvirt-serial-pipe.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-serial-pty.xml b/tests/xmconfigdata/test-fullvirt-serial-pty.xml index 5dc5e2fa9a..e6bc2908a4 100644 --- a/tests/xmconfigdata/test-fullvirt-serial-pty.xml +++ b/tests/xmconfigdata/test-fullvirt-serial-pty.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-serial-stdio.xml b/tests/xmconfigdata/test-fullvirt-serial-stdio.xml index ece851585d..9d0c2ebcc1 100644 --- a/tests/xmconfigdata/test-fullvirt-serial-stdio.xml +++ b/tests/xmconfigdata/test-fullvirt-serial-stdio.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.xml b/tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.xml index bd5317787f..372c859853 100644 --- a/tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.xml +++ b/tests/xmconfigdata/test-fullvirt-serial-tcp-telnet.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-serial-tcp.xml b/tests/xmconfigdata/test-fullvirt-serial-tcp.xml index 403bf68c05..774fe59362 100644 --- a/tests/xmconfigdata/test-fullvirt-serial-tcp.xml +++ b/tests/xmconfigdata/test-fullvirt-serial-tcp.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-serial-udp.xml b/tests/xmconfigdata/test-fullvirt-serial-udp.xml index 5f0b6c0d17..0f2450a7dd 100644 --- a/tests/xmconfigdata/test-fullvirt-serial-udp.xml +++ b/tests/xmconfigdata/test-fullvirt-serial-udp.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-serial-unix.xml b/tests/xmconfigdata/test-fullvirt-serial-unix.xml index 6f6b1cf5b8..2cb8b0049f 100644 --- a/tests/xmconfigdata/test-fullvirt-serial-unix.xml +++ b/tests/xmconfigdata/test-fullvirt-serial-unix.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-sound.xml b/tests/xmconfigdata/test-fullvirt-sound.xml index 0fbd9f6a46..ac9a4c3eb6 100644 --- a/tests/xmconfigdata/test-fullvirt-sound.xml +++ b/tests/xmconfigdata/test-fullvirt-sound.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-usbmouse.xml b/tests/xmconfigdata/test-fullvirt-usbmouse.xml index 244a42b514..133fe53f41 100644 --- a/tests/xmconfigdata/test-fullvirt-usbmouse.xml +++ b/tests/xmconfigdata/test-fullvirt-usbmouse.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-usbtablet.xml b/tests/xmconfigdata/test-fullvirt-usbtablet.xml index e315f7e658..ce12d93f6b 100644 --- a/tests/xmconfigdata/test-fullvirt-usbtablet.xml +++ b/tests/xmconfigdata/test-fullvirt-usbtablet.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-fullvirt-utc.xml b/tests/xmconfigdata/test-fullvirt-utc.xml index 4a496cebe3..9e44651a4d 100644 --- a/tests/xmconfigdata/test-fullvirt-utc.xml +++ b/tests/xmconfigdata/test-fullvirt-utc.xml @@ -33,6 +33,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:92:9c'/> diff --git a/tests/xmconfigdata/test-no-source-cdrom.xml b/tests/xmconfigdata/test-no-source-cdrom.xml index 4a39150795..9d28eb5a8d 100644 --- a/tests/xmconfigdata/test-no-source-cdrom.xml +++ b/tests/xmconfigdata/test-no-source-cdrom.xml @@ -32,6 +32,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:0a:7b:39'/> diff --git a/tests/xmconfigdata/test-paravirt-extra-root.xml b/tests/xmconfigdata/test-paravirt-extra-root.xml index 325b07d8e1..120b021d11 100644 --- a/tests/xmconfigdata/test-paravirt-extra-root.xml +++ b/tests/xmconfigdata/test-paravirt-extra-root.xml @@ -19,6 +19,7 @@ <source dev='/dev/HostVG/XenGuest1'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:94:9c'/> <source bridge='br0'/> diff --git a/tests/xmconfigdata/test-paravirt-maxvcpus.xml b/tests/xmconfigdata/test-paravirt-maxvcpus.xml index 3012821ad4..b2fd79cabf 100644 --- a/tests/xmconfigdata/test-paravirt-maxvcpus.xml +++ b/tests/xmconfigdata/test-paravirt-maxvcpus.xml @@ -19,6 +19,7 @@ <source dev='/dev/HostVG/XenGuest1'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:94:9c'/> <source bridge='br0'/> diff --git a/tests/xmconfigdata/test-paravirt-net-e1000.xml b/tests/xmconfigdata/test-paravirt-net-e1000.xml index 7b7112dcff..40c20868ed 100644 --- a/tests/xmconfigdata/test-paravirt-net-e1000.xml +++ b/tests/xmconfigdata/test-paravirt-net-e1000.xml @@ -18,6 +18,7 @@ <source dev='/dev/HostVG/XenGuest1'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:94:9c'/> <source bridge='br0'/> diff --git a/tests/xmconfigdata/test-paravirt-net-vifname.xml b/tests/xmconfigdata/test-paravirt-net-vifname.xml index 36333c8d60..81b6185c83 100644 --- a/tests/xmconfigdata/test-paravirt-net-vifname.xml +++ b/tests/xmconfigdata/test-paravirt-net-vifname.xml @@ -18,6 +18,7 @@ <source dev='/dev/HostVG/XenGuest1'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:94:9c'/> <source bridge='br0'/> diff --git a/tests/xmconfigdata/test-paravirt-new-pvfb-vncdisplay.xml b/tests/xmconfigdata/test-paravirt-new-pvfb-vncdisplay.xml index b7fc9f7230..3633b6444d 100644 --- a/tests/xmconfigdata/test-paravirt-new-pvfb-vncdisplay.xml +++ b/tests/xmconfigdata/test-paravirt-new-pvfb-vncdisplay.xml @@ -18,6 +18,7 @@ <source dev='/dev/HostVG/XenGuest1'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:94:9c'/> <source bridge='br0'/> diff --git a/tests/xmconfigdata/test-paravirt-new-pvfb.xml b/tests/xmconfigdata/test-paravirt-new-pvfb.xml index 60604a20a0..ac859fc0d0 100644 --- a/tests/xmconfigdata/test-paravirt-new-pvfb.xml +++ b/tests/xmconfigdata/test-paravirt-new-pvfb.xml @@ -18,6 +18,7 @@ <source dev='/dev/HostVG/XenGuest1'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:94:9c'/> <source bridge='br0'/> diff --git a/tests/xmconfigdata/test-paravirt-root.xml b/tests/xmconfigdata/test-paravirt-root.xml index 12d1e3bdbd..d2ad4e88da 100644 --- a/tests/xmconfigdata/test-paravirt-root.xml +++ b/tests/xmconfigdata/test-paravirt-root.xml @@ -19,6 +19,7 @@ <source dev='/dev/HostVG/XenGuest1'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:94:9c'/> <source bridge='br0'/> diff --git a/tests/xmconfigdata/test-paravirt-vcpu.xml b/tests/xmconfigdata/test-paravirt-vcpu.xml index 3012821ad4..b2fd79cabf 100644 --- a/tests/xmconfigdata/test-paravirt-vcpu.xml +++ b/tests/xmconfigdata/test-paravirt-vcpu.xml @@ -19,6 +19,7 @@ <source dev='/dev/HostVG/XenGuest1'/> <target dev='xvda' bus='xen'/> </disk> + <controller type='xenbus' index='0'/> <interface type='bridge'> <mac address='00:16:3e:66:94:9c'/> <source bridge='br0'/> diff --git a/tests/xmconfigdata/test-pci-devs.xml b/tests/xmconfigdata/test-pci-devs.xml index 27f59c28b0..5d5d29c61c 100644 --- a/tests/xmconfigdata/test-pci-devs.xml +++ b/tests/xmconfigdata/test-pci-devs.xml @@ -32,6 +32,7 @@ <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> + <controller type='xenbus' index='0'/> <controller type='ide' index='0'/> <interface type='bridge'> <mac address='00:16:3e:0a:7b:39'/> -- 2.20.1

On Fri, Mar 08, 2019 at 04:05:56PM -0700, Jim Fehlig wrote:
All Xen domains have a xenbus device. Implicitly add one if not already explicitly specified in the domain config.
Signed-off-by: Jim Fehlig <jfehlig@suse.com> ---
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Add support for setting max_grant_frames in libxl domain config object and include a test to check that it is properly converted from XML to libxl domain config. Signed-off-by: Jim Fehlig <jfehlig@suse.com> --- src/libxl/libxl_conf.c | 9 ++ .../max-gntframes-hvm.json | 90 +++++++++++++++++++ .../max-gntframes-hvm.xml | 37 ++++++++ tests/libxlxml2domconfigtest.c | 3 + 4 files changed, 139 insertions(+) diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index c769050ff1..e55a9fe22e 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -393,6 +393,15 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, def->mem.cur_balloon = VIR_ROUND_UP(def->mem.cur_balloon, 1024); b_info->max_memkb = virDomainDefGetMemoryInitial(def); b_info->target_memkb = def->mem.cur_balloon; + +#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS + for (i = 0; i < def->ncontrollers; i++) { + if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS && + def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0) + b_info->max_grant_frames = def->controllers[i]->opts.xenbusopts.maxGrantFrames; + } +#endif + if (hvm || pvh) { if (caps && def->cpu && def->cpu->mode == (VIR_CPU_MODE_HOST_PASSTHROUGH)) { diff --git a/tests/libxlxml2domconfigdata/max-gntframes-hvm.json b/tests/libxlxml2domconfigdata/max-gntframes-hvm.json new file mode 100644 index 0000000000..ef602f09fc --- /dev/null +++ b/tests/libxlxml2domconfigdata/max-gntframes-hvm.json @@ -0,0 +1,90 @@ +{ + "c_info": { + "type": "hvm", + "name": "test-hvm", + "uuid": "2147d599-9cc6-c0dc-92ab-4064b5446e9b" + }, + "b_info": { + "max_vcpus": 4, + "avail_vcpus": [ + 0, + 1, + 2, + 3 + ], + "max_memkb": 1048576, + "target_memkb": 1048576, + "video_memkb": 8192, + "shadow_memkb": 12288, + "max_grant_frames": 64, + "device_model_version": "qemu_xen", + "device_model": "/bin/true", + "sched_params": { + + }, + "type.hvm": { + "pae": "True", + "apic": "True", + "acpi": "True", + "vga": { + "kind": "cirrus" + }, + "vnc": { + "enable": "True", + "listen": "0.0.0.0", + "findunused": "False" + }, + "sdl": { + "enable": "False" + }, + "spice": { + + }, + "boot": "c", + "rdm": { + + } + }, + "arch_arm": { + + } + }, + "disks": [ + { + "pdev_path": "/var/lib/xen/images/test-hvm.img", + "vdev": "hda", + "backend": "qdisk", + "format": "raw", + "removable": 1, + "readwrite": 1 + } + ], + "nics": [ + { + "devid": 0, + "mac": "00:16:3e:66:12:b4", + "bridge": "br0", + "script": "/etc/xen/scripts/vif-bridge", + "nictype": "vif_ioemu" + } + ], + "vfbs": [ + { + "devid": -1, + "vnc": { + "enable": "True", + "listen": "0.0.0.0", + "findunused": "False" + }, + "sdl": { + "enable": "False" + } + } + ], + "vkbs": [ + { + "devid": -1 + } + ], + "on_reboot": "restart" +} diff --git a/tests/libxlxml2domconfigdata/max-gntframes-hvm.xml b/tests/libxlxml2domconfigdata/max-gntframes-hvm.xml new file mode 100644 index 0000000000..910bbda10b --- /dev/null +++ b/tests/libxlxml2domconfigdata/max-gntframes-hvm.xml @@ -0,0 +1,37 @@ +<domain type='xen'> + <name>test-hvm</name> + <description>None</description> + <uuid>2147d599-9cc6-c0dc-92ab-4064b5446e9b</uuid> + <memory>1048576</memory> + <currentMemory>1048576</currentMemory> + <vcpu>4</vcpu> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <clock offset='utc'/> + <os> + <type>hvm</type> + <loader>/usr/lib/xen/boot/hvmloader</loader> + <boot dev='hd'/> + </os> + <features> + <apic/> + <acpi/> + <pae/> + </features> + <devices> + <emulator>/bin/true</emulator> + <disk type='file' device='disk'> + <driver name='qemu'/> + <source file='/var/lib/xen/images/test-hvm.img'/> + <target dev='hda'/> + </disk> + <controller type='xenbus' maxGrantFrames='64'/> + <interface type='bridge'> + <source bridge='br0'/> + <mac address='00:16:3e:66:12:b4'/> + <script path='/etc/xen/scripts/vif-bridge'/> + </interface> + <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/> + </devices> +</domain> diff --git a/tests/libxlxml2domconfigtest.c b/tests/libxlxml2domconfigtest.c index 863d8cded5..677103bfeb 100644 --- a/tests/libxlxml2domconfigtest.c +++ b/tests/libxlxml2domconfigtest.c @@ -217,6 +217,9 @@ mymain(void) DO_TEST("fullvirt-cpuid-legacy-nest"); # endif +# ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS + DO_TEST("max-gntframes-hvm"); +# endif unlink("libxl-driver.log"); -- 2.20.1

On Fri, Mar 08, 2019 at 04:05:57PM -0700, Jim Fehlig wrote:
Add support for setting max_grant_frames in libxl domain config object and include a test to check that it is properly converted from XML to libxl domain config.
Signed-off-by: Jim Fehlig <jfehlig@suse.com> --- src/libxl/libxl_conf.c | 9 ++ .../max-gntframes-hvm.json | 90 +++++++++++++++++++ .../max-gntframes-hvm.xml | 37 ++++++++ tests/libxlxml2domconfigtest.c | 3 + 4 files changed, 139 insertions(+)
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index c769050ff1..e55a9fe22e 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -393,6 +393,15 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, def->mem.cur_balloon = VIR_ROUND_UP(def->mem.cur_balloon, 1024); b_info->max_memkb = virDomainDefGetMemoryInitial(def); b_info->target_memkb = def->mem.cur_balloon; + +#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS + for (i = 0; i < def->ncontrollers; i++) { + if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS && + def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0) + b_info->max_grant_frames = def->controllers[i]->opts.xenbusopts.maxGrantFrames; + } +#endif + if (hvm || pvh) { if (caps && def->cpu && def->cpu->mode == (VIR_CPU_MODE_HOST_PASSTHROUGH)) { diff --git a/tests/libxlxml2domconfigdata/max-gntframes-hvm.json b/tests/libxlxml2domconfigdata/max-gntframes-hvm.json new file mode 100644 index 0000000000..ef602f09fc --- /dev/null +++ b/tests/libxlxml2domconfigdata/max-gntframes-hvm.json @@ -0,0 +1,90 @@ +{ + "c_info": { + "type": "hvm", + "name": "test-hvm", + "uuid": "2147d599-9cc6-c0dc-92ab-4064b5446e9b" + }, + "b_info": { + "max_vcpus": 4, + "avail_vcpus": [ + 0, + 1, + 2, + 3 + ], + "max_memkb": 1048576, + "target_memkb": 1048576, + "video_memkb": 8192, + "shadow_memkb": 12288, + "max_grant_frames": 64, + "device_model_version": "qemu_xen", + "device_model": "/bin/true", + "sched_params": { + + }, + "type.hvm": { + "pae": "True", + "apic": "True", + "acpi": "True", + "vga": { + "kind": "cirrus" + }, + "vnc": { + "enable": "True", + "listen": "0.0.0.0", + "findunused": "False" + }, + "sdl": { + "enable": "False" + }, + "spice": { + + }, + "boot": "c", + "rdm": { + + } + }, + "arch_arm": { + + } + }, + "disks": [ + { + "pdev_path": "/var/lib/xen/images/test-hvm.img", + "vdev": "hda", + "backend": "qdisk", + "format": "raw", + "removable": 1, + "readwrite": 1 + } + ], + "nics": [ + { + "devid": 0, + "mac": "00:16:3e:66:12:b4", + "bridge": "br0", + "script": "/etc/xen/scripts/vif-bridge", + "nictype": "vif_ioemu" + } + ], + "vfbs": [ + { + "devid": -1, + "vnc": { + "enable": "True", + "listen": "0.0.0.0", + "findunused": "False" + }, + "sdl": { + "enable": "False" + } + } + ], + "vkbs": [ + { + "devid": -1 + } + ], + "on_reboot": "restart" +} diff --git a/tests/libxlxml2domconfigdata/max-gntframes-hvm.xml b/tests/libxlxml2domconfigdata/max-gntframes-hvm.xml new file mode 100644 index 0000000000..910bbda10b --- /dev/null +++ b/tests/libxlxml2domconfigdata/max-gntframes-hvm.xml @@ -0,0 +1,37 @@ +<domain type='xen'> + <name>test-hvm</name> + <description>None</description> + <uuid>2147d599-9cc6-c0dc-92ab-4064b5446e9b</uuid> + <memory>1048576</memory> + <currentMemory>1048576</currentMemory> + <vcpu>4</vcpu> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <clock offset='utc'/> + <os> + <type>hvm</type> + <loader>/usr/lib/xen/boot/hvmloader</loader> + <boot dev='hd'/> + </os> + <features> + <apic/> + <acpi/> + <pae/> + </features> + <devices> + <emulator>/bin/true</emulator> + <disk type='file' device='disk'> + <driver name='qemu'/> + <source file='/var/lib/xen/images/test-hvm.img'/> + <target dev='hda'/> + </disk> + <controller type='xenbus' maxGrantFrames='64'/>
Normally, <controller> would come before <disk>
+ <interface type='bridge'> + <source bridge='br0'/> + <mac address='00:16:3e:66:12:b4'/> + <script path='/etc/xen/scripts/vif-bridge'/> + </interface> + <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/> + </devices> +</domain> diff --git a/tests/libxlxml2domconfigtest.c b/tests/libxlxml2domconfigtest.c index 863d8cded5..677103bfeb 100644 --- a/tests/libxlxml2domconfigtest.c +++ b/tests/libxlxml2domconfigtest.c @@ -217,6 +217,9 @@ mymain(void) DO_TEST("fullvirt-cpuid-legacy-nest"); # endif
+# ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS + DO_TEST("max-gntframes-hvm"); +# endif
unlink("libxl-driver.log");
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On 3/12/19 8:17 AM, Daniel P. Berrangé wrote:
On Fri, Mar 08, 2019 at 04:05:57PM -0700, Jim Fehlig wrote:
Add support for setting max_grant_frames in libxl domain config object and include a test to check that it is properly converted from XML to libxl domain config.
Signed-off-by: Jim Fehlig <jfehlig@suse.com> --- src/libxl/libxl_conf.c | 9 ++ .../max-gntframes-hvm.json | 90 +++++++++++++++++++ .../max-gntframes-hvm.xml | 37 ++++++++ tests/libxlxml2domconfigtest.c | 3 + 4 files changed, 139 insertions(+)
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index c769050ff1..e55a9fe22e 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -393,6 +393,15 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, def->mem.cur_balloon = VIR_ROUND_UP(def->mem.cur_balloon, 1024); b_info->max_memkb = virDomainDefGetMemoryInitial(def); b_info->target_memkb = def->mem.cur_balloon; + +#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS + for (i = 0; i < def->ncontrollers; i++) { + if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS && + def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0) + b_info->max_grant_frames = def->controllers[i]->opts.xenbusopts.maxGrantFrames; + } +#endif + if (hvm || pvh) { if (caps && def->cpu && def->cpu->mode == (VIR_CPU_MODE_HOST_PASSTHROUGH)) { diff --git a/tests/libxlxml2domconfigdata/max-gntframes-hvm.json b/tests/libxlxml2domconfigdata/max-gntframes-hvm.json new file mode 100644 index 0000000000..ef602f09fc --- /dev/null +++ b/tests/libxlxml2domconfigdata/max-gntframes-hvm.json @@ -0,0 +1,90 @@ +{ + "c_info": { + "type": "hvm", + "name": "test-hvm", + "uuid": "2147d599-9cc6-c0dc-92ab-4064b5446e9b" + }, + "b_info": { + "max_vcpus": 4, + "avail_vcpus": [ + 0, + 1, + 2, + 3 + ], + "max_memkb": 1048576, + "target_memkb": 1048576, + "video_memkb": 8192, + "shadow_memkb": 12288, + "max_grant_frames": 64, + "device_model_version": "qemu_xen", + "device_model": "/bin/true", + "sched_params": { + + }, + "type.hvm": { + "pae": "True", + "apic": "True", + "acpi": "True", + "vga": { + "kind": "cirrus" + }, + "vnc": { + "enable": "True", + "listen": "0.0.0.0", + "findunused": "False" + }, + "sdl": { + "enable": "False" + }, + "spice": { + + }, + "boot": "c", + "rdm": { + + } + }, + "arch_arm": { + + } + }, + "disks": [ + { + "pdev_path": "/var/lib/xen/images/test-hvm.img", + "vdev": "hda", + "backend": "qdisk", + "format": "raw", + "removable": 1, + "readwrite": 1 + } + ], + "nics": [ + { + "devid": 0, + "mac": "00:16:3e:66:12:b4", + "bridge": "br0", + "script": "/etc/xen/scripts/vif-bridge", + "nictype": "vif_ioemu" + } + ], + "vfbs": [ + { + "devid": -1, + "vnc": { + "enable": "True", + "listen": "0.0.0.0", + "findunused": "False" + }, + "sdl": { + "enable": "False" + } + } + ], + "vkbs": [ + { + "devid": -1 + } + ], + "on_reboot": "restart" +} diff --git a/tests/libxlxml2domconfigdata/max-gntframes-hvm.xml b/tests/libxlxml2domconfigdata/max-gntframes-hvm.xml new file mode 100644 index 0000000000..910bbda10b --- /dev/null +++ b/tests/libxlxml2domconfigdata/max-gntframes-hvm.xml @@ -0,0 +1,37 @@ +<domain type='xen'> + <name>test-hvm</name> + <description>None</description> + <uuid>2147d599-9cc6-c0dc-92ab-4064b5446e9b</uuid> + <memory>1048576</memory> + <currentMemory>1048576</currentMemory> + <vcpu>4</vcpu> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <clock offset='utc'/> + <os> + <type>hvm</type> + <loader>/usr/lib/xen/boot/hvmloader</loader> + <boot dev='hd'/> + </os> + <features> + <apic/> + <acpi/> + <pae/> + </features> + <devices> + <emulator>/bin/true</emulator> + <disk type='file' device='disk'> + <driver name='qemu'/> + <source file='/var/lib/xen/images/test-hvm.img'/> + <target dev='hda'/> + </disk> + <controller type='xenbus' maxGrantFrames='64'/>
Normally, <controller> would come before <disk>
virDomainDefFormatInternal() formats controllers after disks. I can change that if you want but it should probably be done as a separate patch. Regards, Jim
+ <interface type='bridge'> + <source bridge='br0'/> + <mac address='00:16:3e:66:12:b4'/> + <script path='/etc/xen/scripts/vif-bridge'/> + </interface> + <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/> + </devices> +</domain> diff --git a/tests/libxlxml2domconfigtest.c b/tests/libxlxml2domconfigtest.c index 863d8cded5..677103bfeb 100644 --- a/tests/libxlxml2domconfigtest.c +++ b/tests/libxlxml2domconfigtest.c @@ -217,6 +217,9 @@ mymain(void) DO_TEST("fullvirt-cpuid-legacy-nest"); # endif
+# ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS + DO_TEST("max-gntframes-hvm"); +# endif
unlink("libxl-driver.log");
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Regards, Daniel

On Tue, Mar 12, 2019 at 02:34:43PM -0600, Jim Fehlig wrote:
On 3/12/19 8:17 AM, Daniel P. Berrangé wrote:
On Fri, Mar 08, 2019 at 04:05:57PM -0700, Jim Fehlig wrote:
Add support for setting max_grant_frames in libxl domain config object and include a test to check that it is properly converted from XML to libxl domain config.
Signed-off-by: Jim Fehlig <jfehlig@suse.com> --- src/libxl/libxl_conf.c | 9 ++ .../max-gntframes-hvm.json | 90 +++++++++++++++++++ .../max-gntframes-hvm.xml | 37 ++++++++ tests/libxlxml2domconfigtest.c | 3 + 4 files changed, 139 insertions(+)
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index c769050ff1..e55a9fe22e 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -393,6 +393,15 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, def->mem.cur_balloon = VIR_ROUND_UP(def->mem.cur_balloon, 1024); b_info->max_memkb = virDomainDefGetMemoryInitial(def); b_info->target_memkb = def->mem.cur_balloon; + +#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS + for (i = 0; i < def->ncontrollers; i++) { + if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS && + def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0) + b_info->max_grant_frames = def->controllers[i]->opts.xenbusopts.maxGrantFrames; + } +#endif + if (hvm || pvh) { if (caps && def->cpu && def->cpu->mode == (VIR_CPU_MODE_HOST_PASSTHROUGH)) { diff --git a/tests/libxlxml2domconfigdata/max-gntframes-hvm.json b/tests/libxlxml2domconfigdata/max-gntframes-hvm.json new file mode 100644 index 0000000000..ef602f09fc --- /dev/null +++ b/tests/libxlxml2domconfigdata/max-gntframes-hvm.json @@ -0,0 +1,90 @@ +{ + "c_info": { + "type": "hvm", + "name": "test-hvm", + "uuid": "2147d599-9cc6-c0dc-92ab-4064b5446e9b" + }, + "b_info": { + "max_vcpus": 4, + "avail_vcpus": [ + 0, + 1, + 2, + 3 + ], + "max_memkb": 1048576, + "target_memkb": 1048576, + "video_memkb": 8192, + "shadow_memkb": 12288, + "max_grant_frames": 64, + "device_model_version": "qemu_xen", + "device_model": "/bin/true", + "sched_params": { + + }, + "type.hvm": { + "pae": "True", + "apic": "True", + "acpi": "True", + "vga": { + "kind": "cirrus" + }, + "vnc": { + "enable": "True", + "listen": "0.0.0.0", + "findunused": "False" + }, + "sdl": { + "enable": "False" + }, + "spice": { + + }, + "boot": "c", + "rdm": { + + } + }, + "arch_arm": { + + } + }, + "disks": [ + { + "pdev_path": "/var/lib/xen/images/test-hvm.img", + "vdev": "hda", + "backend": "qdisk", + "format": "raw", + "removable": 1, + "readwrite": 1 + } + ], + "nics": [ + { + "devid": 0, + "mac": "00:16:3e:66:12:b4", + "bridge": "br0", + "script": "/etc/xen/scripts/vif-bridge", + "nictype": "vif_ioemu" + } + ], + "vfbs": [ + { + "devid": -1, + "vnc": { + "enable": "True", + "listen": "0.0.0.0", + "findunused": "False" + }, + "sdl": { + "enable": "False" + } + } + ], + "vkbs": [ + { + "devid": -1 + } + ], + "on_reboot": "restart" +} diff --git a/tests/libxlxml2domconfigdata/max-gntframes-hvm.xml b/tests/libxlxml2domconfigdata/max-gntframes-hvm.xml new file mode 100644 index 0000000000..910bbda10b --- /dev/null +++ b/tests/libxlxml2domconfigdata/max-gntframes-hvm.xml @@ -0,0 +1,37 @@ +<domain type='xen'> + <name>test-hvm</name> + <description>None</description> + <uuid>2147d599-9cc6-c0dc-92ab-4064b5446e9b</uuid> + <memory>1048576</memory> + <currentMemory>1048576</currentMemory> + <vcpu>4</vcpu> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <clock offset='utc'/> + <os> + <type>hvm</type> + <loader>/usr/lib/xen/boot/hvmloader</loader> + <boot dev='hd'/> + </os> + <features> + <apic/> + <acpi/> + <pae/> + </features> + <devices> + <emulator>/bin/true</emulator> + <disk type='file' device='disk'> + <driver name='qemu'/> + <source file='/var/lib/xen/images/test-hvm.img'/> + <target dev='hda'/> + </disk> + <controller type='xenbus' maxGrantFrames='64'/>
Normally, <controller> would come before <disk>
virDomainDefFormatInternal() formats controllers after disks. I can change that if you want but it should probably be done as a separate patch.
No, don't bother. I was mistakenly thinking we formatted controllers first. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Add support in the domXML<->native config converter for max_grant_frames. Include a test for the conversion. Signed-off-by: Jim Fehlig <jfehlig@suse.com> --- src/xenconfig/xen_xl.c | 56 +++++++++++++++++++++++ tests/xlconfigdata/test-max-gntframes.cfg | 13 ++++++ tests/xlconfigdata/test-max-gntframes.xml | 32 +++++++++++++ tests/xlconfigtest.c | 4 ++ 4 files changed, 105 insertions(+) diff --git a/src/xenconfig/xen_xl.c b/src/xenconfig/xen_xl.c index 2796749a6c..ca094d30c2 100644 --- a/src/xenconfig/xen_xl.c +++ b/src/xenconfig/xen_xl.c @@ -607,6 +607,34 @@ xenParseXLVnuma(virConfPtr conf, } #endif +#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS +static int +xenParseXLGntLimits(virConfPtr conf, virDomainDefPtr def) +{ + unsigned long max_gntframes; + int ctlr_idx; + virDomainControllerDefPtr xenbus_ctlr; + + if (xenConfigGetULong(conf, "max_grant_frames", &max_gntframes, 0) < 0) + return -1; + + if (max_gntframes <= 0) + return 0; + + ctlr_idx = virDomainControllerFindByType(def, VIR_DOMAIN_CONTROLLER_TYPE_XENBUS); + if (ctlr_idx == -1) + xenbus_ctlr = virDomainDefAddController(def, VIR_DOMAIN_CONTROLLER_TYPE_XENBUS, -1, -1); + else + xenbus_ctlr = def->controllers[ctlr_idx]; + + if (xenbus_ctlr == NULL) + return -1; + + xenbus_ctlr->opts.xenbusopts.maxGrantFrames = max_gntframes; + return 0; +} +#endif + static int xenParseXLDiskSrc(virDomainDiskDefPtr disk, char *srcstr) { @@ -1165,6 +1193,11 @@ xenParseXL(virConfPtr conf, goto cleanup; #endif +#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS + if (xenParseXLGntLimits(conf, def) < 0) + goto cleanup; +#endif + if (xenParseXLCPUID(conf, def) < 0) goto cleanup; @@ -1517,6 +1550,24 @@ xenFormatXLDomainVnuma(virConfPtr conf, } #endif +#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS +static int +xenFormatXLGntLimits(virConfPtr conf, virDomainDefPtr def) +{ + size_t i; + + for (i = 0; i < def->ncontrollers; i++) { + if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS && + def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0) { + if (xenConfigSetInt(conf, "max_grant_frames", + def->controllers[i]->opts.xenbusopts.maxGrantFrames) < 0) + return -1; + } + } + return 0; +} +#endif + static char * xenFormatXLDiskSrcNet(virStorageSourcePtr src) { @@ -2166,6 +2217,11 @@ xenFormatXL(virDomainDefPtr def, virConnectPtr conn) goto cleanup; #endif +#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS + if (xenFormatXLGntLimits(conf, def) < 0) + goto cleanup; +#endif + if (xenFormatXLDomainDisks(conf, def) < 0) goto cleanup; diff --git a/tests/xlconfigdata/test-max-gntframes.cfg b/tests/xlconfigdata/test-max-gntframes.cfg new file mode 100644 index 0000000000..7235b0d035 --- /dev/null +++ b/tests/xlconfigdata/test-max-gntframes.cfg @@ -0,0 +1,13 @@ +name = "XenGuest1" +uuid = "45b60f51-88a9-47a8-a3b3-5e66d71b2283" +maxmem = 512 +memory = 512 +vcpus = 1 +localtime = 0 +on_poweroff = "preserve" +on_reboot = "restart" +on_crash = "preserve" +vif = [ "mac=5a:36:0e:be:00:09" ] +bootloader = "/usr/bin/pygrub" +max_grant_frames = 64 +disk = [ "format=qcow2,vdev=xvda,access=rw,backendtype=qdisk,target=/var/lib/xen/images/debian/disk.qcow2" ] diff --git a/tests/xlconfigdata/test-max-gntframes.xml b/tests/xlconfigdata/test-max-gntframes.xml new file mode 100644 index 0000000000..de7c1c09b2 --- /dev/null +++ b/tests/xlconfigdata/test-max-gntframes.xml @@ -0,0 +1,32 @@ +<domain type='xen'> + <name>XenGuest1</name> + <uuid>45b60f51-88a9-47a8-a3b3-5e66d71b2283</uuid> + <memory unit='KiB'>524288</memory> + <currentMemory unit='KiB'>524288</currentMemory> + <vcpu placement='static'>1</vcpu> + <bootloader>/usr/bin/pygrub</bootloader> + <os> + <type arch='x86_64' machine='xenpv'>linux</type> + </os> + <clock offset='utc' adjustment='reset'/> + <on_poweroff>preserve</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>preserve</on_crash> + <devices> + <disk type='file' device='disk'> + <driver name='qemu' type='qcow2'/> + <source file='/var/lib/xen/images/debian/disk.qcow2'/> + <target dev='xvda' bus='xen'/> + </disk> + <controller type='xenbus' index='0' maxGrantFrames='64'/> + <interface type='ethernet'> + <mac address='5a:36:0e:be:00:09'/> + </interface> + <console type='pty'> + <target type='xen' port='0'/> + </console> + <input type='mouse' bus='xen'/> + <input type='keyboard' bus='xen'/> + <memballoon model='xen'/> + </devices> +</domain> diff --git a/tests/xlconfigtest.c b/tests/xlconfigtest.c index 492bda2e63..9ec54bf71d 100644 --- a/tests/xlconfigtest.c +++ b/tests/xlconfigtest.c @@ -299,6 +299,10 @@ mymain(void) DO_TEST_FORMAT("fullvirt-direct-kernel-boot-extra", false); DO_TEST_FORMAT("fullvirt-direct-kernel-boot-bogus-extra", false); #endif +#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS + DO_TEST("max-gntframes"); +#endif + DO_TEST("vif-typename"); DO_TEST("vif-multi-ip"); DO_TEST("usb"); -- 2.20.1

On Fri, Mar 08, 2019 at 04:05:58PM -0700, Jim Fehlig wrote:
Add support in the domXML<->native config converter for max_grant_frames. Include a test for the conversion.
Signed-off-by: Jim Fehlig <jfehlig@suse.com> --- src/xenconfig/xen_xl.c | 56 +++++++++++++++++++++++ tests/xlconfigdata/test-max-gntframes.cfg | 13 ++++++ tests/xlconfigdata/test-max-gntframes.xml | 32 +++++++++++++ tests/xlconfigtest.c | 4 ++ 4 files changed, 105 insertions(+)
diff --git a/tests/xlconfigdata/test-max-gntframes.xml b/tests/xlconfigdata/test-max-gntframes.xml new file mode 100644 index 0000000000..de7c1c09b2 --- /dev/null +++ b/tests/xlconfigdata/test-max-gntframes.xml @@ -0,0 +1,32 @@ +<domain type='xen'> + <name>XenGuest1</name> + <uuid>45b60f51-88a9-47a8-a3b3-5e66d71b2283</uuid> + <memory unit='KiB'>524288</memory> + <currentMemory unit='KiB'>524288</currentMemory> + <vcpu placement='static'>1</vcpu> + <bootloader>/usr/bin/pygrub</bootloader> + <os> + <type arch='x86_64' machine='xenpv'>linux</type> + </os> + <clock offset='utc' adjustment='reset'/> + <on_poweroff>preserve</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>preserve</on_crash> + <devices> + <disk type='file' device='disk'> + <driver name='qemu' type='qcow2'/> + <source file='/var/lib/xen/images/debian/disk.qcow2'/> + <target dev='xvda' bus='xen'/> + </disk> + <controller type='xenbus' index='0' maxGrantFrames='64'/>
Same note about <controller> coming first
+ <interface type='ethernet'> + <mac address='5a:36:0e:be:00:09'/> + </interface> + <console type='pty'> + <target type='xen' port='0'/> + </console> + <input type='mouse' bus='xen'/> + <input type='keyboard' bus='xen'/> + <memballoon model='xen'/> + </devices> +</domain>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
participants (3)
-
Daniel P. Berrangé
-
Eric Blake
-
Jim Fehlig