From 38658eb75dfabc579543a337f31efd65826a7eec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Mon, 14 Jul 2025 18:59:33 +0200 Subject: [PATCH 1/4] Extract common qemu options to a variable --- templates/libvirt/xen.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/templates/libvirt/xen.xml b/templates/libvirt/xen.xml index ec56214c3..f839a2b30 100644 --- a/templates/libvirt/xen.xml +++ b/templates/libvirt/xen.xml @@ -182,6 +182,8 @@ {% if vm.virt_mode == 'hvm' %} + {% set qemu_opts_common = "-qubes-audio:audiovm_xid=" ~ + audiovm_xid -%} Date: Mon, 14 Jul 2025 20:06:57 +0200 Subject: [PATCH 2/4] New feature to add custom qemu arguments Implement qemu-extra-args feature that allows adding extra qemu options. This is useful mostly for debugging. --- qubes/tests/vm/qubesvm.py | 62 +++++++++++++++++++++++++++++++++++++++ templates/libvirt/xen.xml | 4 ++- 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/qubes/tests/vm/qubesvm.py b/qubes/tests/vm/qubesvm.py index 11e6fa2e0..d1633a4f6 100644 --- a/qubes/tests/vm/qubesvm.py +++ b/qubes/tests/vm/qubesvm.py @@ -1172,6 +1172,68 @@ def test_600_libvirt_xml_hvm_with_guivm(self): lxml.etree.XML(libvirt_xml), lxml.etree.XML(expected) ) + def test_600_libvirt_xml_hvm_with_qemu_args(self): + my_uuid = "7db78950-c467-4863-94d1-af59806384ea" + expected = """ + test-inst-test + 7db78950-c467-4863-94d1-af59806384ea + 400 + 400 + 2 + + + + + + + + + hvm + + hvmloader + + + + + + + + + + + destroy + destroy + destroy + + + + + + + + + + + + """ + vm = self.get_vm(uuid=my_uuid) + vm.netvm = None + vm.virt_mode = "hvm" + vm.debug = True + vm.features['qemu-extra-args'] = '-some-option' + libvirt_xml = vm.create_config_file() + self.assertXMLEqual( + lxml.etree.XML(libvirt_xml), lxml.etree.XML(expected) + ) + def test_600_libvirt_xml_hvm_dom0_kernel(self): my_uuid = "7db78950-c467-4863-94d1-af59806384ea" expected = f""" diff --git a/templates/libvirt/xen.xml b/templates/libvirt/xen.xml index f839a2b30..9a82ca690 100644 --- a/templates/libvirt/xen.xml +++ b/templates/libvirt/xen.xml @@ -183,7 +183,9 @@ {% if vm.virt_mode == 'hvm' %} {% set qemu_opts_common = "-qubes-audio:audiovm_xid=" ~ - audiovm_xid -%} + audiovm_xid ~ " " ~ + vm.features.check_with_template('qemu-extra-args', '') -%} + {% set qemu_opts_common = qemu_opts_common | trim -%} Date: Mon, 14 Jul 2025 20:10:12 +0200 Subject: [PATCH 3/4] Enable Windows PV drivers logging when debug is set to True Will (hopefully) help debugging issues like QubesOS/qubes-issues#9976 --- qubes/tests/vm/qubesvm.py | 6 ++++-- templates/libvirt/xen.xml | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/qubes/tests/vm/qubesvm.py b/qubes/tests/vm/qubesvm.py index d1633a4f6..0993eb8d2 100644 --- a/qubes/tests/vm/qubesvm.py +++ b/qubes/tests/vm/qubesvm.py @@ -1143,7 +1143,8 @@ def test_600_libvirt_xml_hvm_with_guivm(self): destroy - +