On a Friday in 2020, Jim Fehlig wrote:
> Xen supports passing arbitrary arguments to the QEMU device model via
> the 'extra' member of the public libxl_domain_build_info structure.
> This patch uses QEMU namespace extensions already in place for the QEMU
> driver to map arbitrary arguments to the 'extra' member. Only passthrough
> of arguments is supported. Trying to pass environment variables or
> capabilities adjustments is not supported and will result in an error.
>
> Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
> ---
> docs/drvxen.html.in | 35 ++++++++++++++
> src/libxl/libxl_conf.c | 11 ++++-
> src/libxl/libxl_conf.h | 8 ++++
> src/libxl/libxl_domain.c | 99 ++++++++++++++++++++++++++++++++++++++++
> src/libxl/libxl_domain.h | 1 +
> 5 files changed, 153 insertions(+), 1 deletion(-)
>
> diff --git a/docs/drvxen.html.in b/docs/drvxen.html.in
> index b2f41c1763..ffaf01fedb 100644
> --- a/docs/drvxen.html.in
> +++ b/docs/drvxen.html.in
> @@ -141,6 +141,41 @@ vnclisten = "0.0.0.0"
> disk = [ "tap:aio:/var/lib/xen/images/rhel5pv.img,xvda,w",
> "tap:qcow:/root/qcow1-xen.img,xvdd,w" ]
> vif = [
"mac=00:16:3e:60:36:ba,bridge=virbr0,script=vif-bridge,vifname=vif5.0"
> ]</pre>
>
> + <h2><a id="xencommand">Pass-through of arbitrary
command-line arguments
> + to the qemu device model</a></h2>
> +
> + <p><span class="since">Since 6.7.0</span>, the Xen
driver supports passing
> + arbitrary command-line arguments to the qemu device model used by Xen with
> + the <code><qemu:commandline></code> element under
> <code>domain</code>.
> + In order to use command-line pass-through, an XML namespace request
> must be
> + issued that pulls in
> <
code>http://libvirt.org/schemas/domain/qemu/1.0</code>.
IIUC the 'qemu' namespace prefix comes from the name of the 'qemu'
driver, not the executable it invokes, so this should use 'libxl' or
something unique.
Thanks for the review! I've changed this to 'xen' and used more glib as you
suggested (old habits are hard to break). V2 of the series has been sent