cli: Add --features kvm.pv-ipi.state=on|off

Set kvm pv-ipi feature by --features argument.

E.g. virt-install --features kvm.pv-ipi.state=off
It results in the following domain xml:

 <features>
   <kvm>
     <pv-ipi state='off'/>
   </kvm>
 </features>

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Lin Ma <lma@suse.de>
This commit is contained in:
Lin Ma
2023-07-11 08:26:49 +08:00
committed by Cole Robinson
parent 63f8f78e6b
commit 7a974a3a72
6 changed files with 7 additions and 1 deletions

View File

@@ -156,6 +156,7 @@
<hidden state="off"/>
<hint-dedicated state="on"/>
<poll-control state="on"/>
<pv-ipi state="on"/>
</kvm>
<pvspinlock state="off"/>
<smm state="off"/>

View File

@@ -30,6 +30,7 @@
<vmcoreinfo state="on"/>
<kvm>
<hidden state="on"/>
<pv-ipi state="off"/>
</kvm>
<pvspinlock state="on"/>
<ioapic driver="qemu"/>

View File

@@ -579,7 +579,8 @@ hyperv.reenlightenment.state=on,\
hyperv.tlbflush.state=on,\
hyperv.ipi.state=on,\
hyperv.evmcs.state=on,\
hyperv.avic.state=on
hyperv.avic.state=on,\
kvm.pv-ipi.state=on
--clock offset=utc,hpet_present=no,rtc_tickpolicy=merge,timer2.name=hypervclock,timer3.name=pit,timer1.present=yes,timer3.tickpolicy=delay,timer2.present=no,timer4.name=rtc,timer5.name=tsc,timer6.name=tsc,timer4.track=wall,timer5.frequency=10,timer6.mode=emulate,timer7.name=rtc,timer7.tickpolicy=catchup,timer7.catchup.threshold=123,timer7.catchup.slew=120,timer7.catchup.limit=10000,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

View File

@@ -163,6 +163,7 @@ def testAlterGuest():
check("pvspinlock", None, True)
check("gic_version", None, False)
check("ioapic_driver", None, "qemu")
check("kvm_pv_ipi", None, False)
check = _make_checker(guest.cpu)
check("match", "exact", "strict")

View File

@@ -3027,6 +3027,7 @@ class ParserFeatures(VirtCLIParser):
cls.add_arg("kvm.hidden.state", "kvm_hidden", is_onoff=True)
cls.add_arg("kvm.hint-dedicated.state", "kvm_hint_dedicated", is_onoff=True)
cls.add_arg("kvm.poll-control.state", "kvm_poll_control", is_onoff=True)
cls.add_arg("kvm.pv-ipi.state", "kvm_pv_ipi", is_onoff=True)
cls.add_arg("pvspinlock.state", "pvspinlock", is_onoff=True)
cls.add_arg("gic.version", "gic_version")

View File

@@ -48,6 +48,7 @@ class DomainFeatures(XMLBuilder):
kvm_hidden = XMLProperty("./kvm/hidden/@state", is_onoff=True)
kvm_hint_dedicated = XMLProperty("./kvm/hint-dedicated/@state", is_onoff=True)
kvm_poll_control = XMLProperty("./kvm/poll-control/@state", is_onoff=True)
kvm_pv_ipi = XMLProperty("./kvm/pv-ipi/@state", is_onoff=True)
pvspinlock = XMLProperty("./pvspinlock/@state", is_onoff=True)
smm = XMLProperty("./smm/@state", is_onoff=True)