mirror of
https://github.com/virt-manager/virt-manager.git
synced 2024-12-22 13:34:07 +03:00
cli: add 'ioapic.driver' to --features
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@redhat.com>
This commit is contained in:
parent
cdd7061f8e
commit
9766beea04
@ -74,6 +74,7 @@
|
|||||||
<pvspinlock state="off"/>
|
<pvspinlock state="off"/>
|
||||||
<smm state="off"/>
|
<smm state="off"/>
|
||||||
<vmcoreinfo state="on"/>
|
<vmcoreinfo state="on"/>
|
||||||
|
<ioapic driver="qemu"/>
|
||||||
</features>
|
</features>
|
||||||
<cpu>
|
<cpu>
|
||||||
<topology sockets="1" dies="1" cores="3" threads="2"/>
|
<topology sockets="1" dies="1" cores="3" threads="2"/>
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
<hidden state="on"/>
|
<hidden state="on"/>
|
||||||
</kvm>
|
</kvm>
|
||||||
<pvspinlock state="on"/>
|
<pvspinlock state="on"/>
|
||||||
|
<ioapic driver="qemu"/>
|
||||||
</features>
|
</features>
|
||||||
<numatune>
|
<numatune>
|
||||||
<memory nodeset="2,4,6"/>
|
<memory nodeset="2,4,6"/>
|
||||||
|
@ -576,7 +576,7 @@ c.add_compare("""
|
|||||||
--vcpus vcpu.current=3,maxvcpus=4,vcpu.placement=auto
|
--vcpus vcpu.current=3,maxvcpus=4,vcpu.placement=auto
|
||||||
--memory hotplugmemorymax=2048,hotplugmemoryslots=2
|
--memory hotplugmemorymax=2048,hotplugmemoryslots=2
|
||||||
--disk none
|
--disk none
|
||||||
--features apic.eoi=off,hap=on,hyperv.synic.state=on,hyperv.reset.state=off,hyperv.spinlocks.state=on,hyperv.spinlocks.retries=5678,pae=on,pmu.state=on,pvspinlock.state=off,smm.state=off,viridian=on,vmcoreinfo.state=on,vmport.state=off,kvm.hidden.state=on,hyperv.vapic.state=off,hyperv.relaxed.state=off,gic.version=host,kvm.hint-dedicated.state=on,kvm.poll-control.state=on
|
--features apic.eoi=off,hap=on,hyperv.synic.state=on,hyperv.reset.state=off,hyperv.spinlocks.state=on,hyperv.spinlocks.retries=5678,pae=on,pmu.state=on,pvspinlock.state=off,smm.state=off,viridian=on,vmcoreinfo.state=on,vmport.state=off,kvm.hidden.state=on,hyperv.vapic.state=off,hyperv.relaxed.state=off,gic.version=host,kvm.hint-dedicated.state=on,kvm.poll-control.state=on,ioapic.driver=qemu
|
||||||
--clock rtc_present=no,pit_present=yes,pit_tickpolicy=catchup,tsc_present=no,platform_present=no,hypervclock_present=no,platform_tickpolicy=foo,hpet_tickpolicy=bar,tsc_tickpolicy=wibble,kvmclock_tickpolicy=wobble,hypervclock_tickpolicy=woo
|
--clock rtc_present=no,pit_present=yes,pit_tickpolicy=catchup,tsc_present=no,platform_present=no,hypervclock_present=no,platform_tickpolicy=foo,hpet_tickpolicy=bar,tsc_tickpolicy=wibble,kvmclock_tickpolicy=wobble,hypervclock_tickpolicy=woo
|
||||||
--boot bios.useserial=no,bios.rebootTimeout=60,cmdline=root=/foo,smbios.mode=host,bootmenu.enable=yes,bootmenu.timeout=5000,loader_ro=yes,loader.type=rom,loader=/tmp/foo
|
--boot bios.useserial=no,bios.rebootTimeout=60,cmdline=root=/foo,smbios.mode=host,bootmenu.enable=yes,bootmenu.timeout=5000,loader_ro=yes,loader.type=rom,loader=/tmp/foo
|
||||||
--memorybacking access.mode=shared,source.type=anonymous,hugepages=on
|
--memorybacking access.mode=shared,source.type=anonymous,hugepages=on
|
||||||
|
@ -162,6 +162,7 @@ def testAlterGuest():
|
|||||||
check("kvm_hidden", None, True)
|
check("kvm_hidden", None, True)
|
||||||
check("pvspinlock", None, True)
|
check("pvspinlock", None, True)
|
||||||
check("gic_version", None, False)
|
check("gic_version", None, False)
|
||||||
|
check("ioapic_driver", None, "qemu")
|
||||||
|
|
||||||
check = _make_checker(guest.cpu)
|
check = _make_checker(guest.cpu)
|
||||||
check("match", "exact", "strict")
|
check("match", "exact", "strict")
|
||||||
|
@ -2965,6 +2965,7 @@ class ParserFeatures(VirtCLIParser):
|
|||||||
|
|
||||||
cls.add_arg("smm.state", "smm", is_onoff=True)
|
cls.add_arg("smm.state", "smm", is_onoff=True)
|
||||||
cls.add_arg("vmcoreinfo.state", "vmcoreinfo", is_onoff=True)
|
cls.add_arg("vmcoreinfo.state", "vmcoreinfo", is_onoff=True)
|
||||||
|
cls.add_arg("ioapic.driver", "ioapic_driver")
|
||||||
|
|
||||||
|
|
||||||
###################
|
###################
|
||||||
|
@ -42,6 +42,7 @@ class DomainFeatures(XMLBuilder):
|
|||||||
|
|
||||||
smm = XMLProperty("./smm/@state", is_onoff=True)
|
smm = XMLProperty("./smm/@state", is_onoff=True)
|
||||||
vmcoreinfo = XMLProperty("./vmcoreinfo/@state", is_onoff=True)
|
vmcoreinfo = XMLProperty("./vmcoreinfo/@state", is_onoff=True)
|
||||||
|
ioapic_driver = XMLProperty("./ioapic/@driver")
|
||||||
|
|
||||||
|
|
||||||
##################
|
##################
|
||||||
|
Loading…
Reference in New Issue
Block a user