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@xxxxxxxxxx> --- 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