From d6eb72331c5ee463f2528c994580bcf47db093a8 Mon Sep 17 00:00:00 2001 From: Netboy3 <1472804+netboy3@users.noreply.github.com> Date: Wed, 22 Dec 2021 09:57:36 -0500 Subject: [PATCH] [doc] module: Bring back older style XML Older libvirt and QEMU require older style config so put it back with version instructions. --- doc/module.rst | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/doc/module.rst b/doc/module.rst index b5108b5e..75b50994 100644 --- a/doc/module.rst +++ b/doc/module.rst @@ -166,7 +166,9 @@ Add the following arguments to your ``qemu`` command line:: libvirt ^^^^^^^ -Create the following XML block in your domain: +Starting with QEMU 6.2 and libvirt 7.9, JSON style QEMU configuration became the default +syntax. As such, if you're running QEMU 6.2 or later **and** libvirt 7.9 or later, +please create the following XML block in your domain: .. code:: xml @@ -179,8 +181,8 @@ Create the following XML block in your domain: .. note:: - - Remember to add ``xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'`` - to the ```` tag. + - Not using the new syntax above might cause QEMU to abort while starting the VM with + "``error: internal error: ... PCI: slot 1 function 0 not available for pcie-root-port, in use by ivshmem-plain``" - The ``"size"`` tag represents the size of the shared memory device in bytes. Once you determine the proper size of the device as per @@ -189,6 +191,23 @@ Create the following XML block in your domain: ``size_in_MB x 1024 x 1024 = size_in_bytes`` +If you are running QEMU older than 6.2 or libvirt older than 7.9, please use +the older syntax for the IVSHMEM XML block: + +.. code:: xml + + + + + + + + +.. note:: + + Remember to add ``xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'`` + to the ```` tag. + Running libvirt this way violates AppArmor and cgroups policies, which will block the VM from running. These policies must be amended to allow the VM to start: