[virt-manager PATCH] cli: add 'ioapic.driver' to --features

Jonathon Jongsma jjongsma at redhat.com
Fri Jan 7 20:33:31 UTC 2022


Add the ability to set the ioapic driver using the --features argument:

    $ virt-install --features ioapic.driver=qemu ...

This results in the following xml:

  <features>
    ...
    <ioapic driver="qemu"/>
  </features>

This is required in order to install a guest with >255 cpus. Such a
configuration requires an iommu with extended interrupt mode enabled,
which in turn requires IOMMU interrupt remapping to be enabled, which in
turn requires a split I/O APIC.

Signed-off-by: Jonathon Jongsma <jjongsma at redhat.com>
---

see https://bugzilla.redhat.com/show_bug.cgi?id=2037202


 tests/data/xmlparse/change-guest-out.xml | 1 +
 tests/test_xmlparse.py                   | 1 +
 virtinst/cli.py                          | 1 +
 virtinst/domain/features.py              | 1 +
 4 files changed, 4 insertions(+)

diff --git a/tests/data/xmlparse/change-guest-out.xml b/tests/data/xmlparse/change-guest-out.xml
index 9fbb06fd..2f1e060a 100644
--- a/tests/data/xmlparse/change-guest-out.xml
+++ b/tests/data/xmlparse/change-guest-out.xml
@@ -32,6 +32,7 @@
       <hidden state="on"/>
     </kvm>
     <pvspinlock state="on"/>
+    <ioapic driver="qemu"/>
   </features>
   <numatune>
     <memory nodeset="2,4,6"/>
diff --git a/tests/test_xmlparse.py b/tests/test_xmlparse.py
index 97147501..e4b1a608 100644
--- a/tests/test_xmlparse.py
+++ b/tests/test_xmlparse.py
@@ -162,6 +162,7 @@ def testAlterGuest():
     check("kvm_hidden", None, True)
     check("pvspinlock", None, True)
     check("gic_version", None, False)
+    check("ioapic_driver", None, "qemu")
 
     check = _make_checker(guest.cpu)
     check("match", "exact", "strict")
diff --git a/virtinst/cli.py b/virtinst/cli.py
index 26e4e8e5..7cf9e603 100644
--- a/virtinst/cli.py
+++ b/virtinst/cli.py
@@ -2965,6 +2965,7 @@ class ParserFeatures(VirtCLIParser):
 
         cls.add_arg("smm.state", "smm", is_onoff=True)
         cls.add_arg("vmcoreinfo.state", "vmcoreinfo", is_onoff=True)
+        cls.add_arg("ioapic.driver", "ioapic_driver")
 
 
 ###################
diff --git a/virtinst/domain/features.py b/virtinst/domain/features.py
index 29e7d965..87de4358 100644
--- a/virtinst/domain/features.py
+++ b/virtinst/domain/features.py
@@ -42,6 +42,7 @@ class DomainFeatures(XMLBuilder):
 
     smm = XMLProperty("./smm/@state", is_onoff=True)
     vmcoreinfo = XMLProperty("./vmcoreinfo/@state", is_onoff=True)
+    ioapic_driver = XMLProperty("./ioapic/@driver")
 
 
     ##################
-- 
2.31.1




More information about the virt-tools-list mailing list