mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-03-11 16:58:31 +03:00
virtinst: enable most Hyper-V features by default
We will not enable hyperv_reset feature as modern Hyper-V versions don't export it. We also don't enable hyperv_reenlightenment as it is mostly relevant when migrating VMs that are running Hyper-V inside and requires other bits to work correctly. Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
parent
169db9dc5f
commit
74fd503b9e
@ -21,6 +21,15 @@
|
||||
<relaxed state="on"/>
|
||||
<vapic state="on"/>
|
||||
<spinlocks state="on" retries="8191"/>
|
||||
<vpindex state="on"/>
|
||||
<runtime state="on"/>
|
||||
<synic state="on"/>
|
||||
<stimer state="on"/>
|
||||
<frequencies state="on"/>
|
||||
<tlbflush state="on"/>
|
||||
<ipi state="on"/>
|
||||
<evmcs state="on"/>
|
||||
<avic state="on"/>
|
||||
</hyperv>
|
||||
<vmport state="off"/>
|
||||
</features>
|
||||
@ -96,6 +105,15 @@
|
||||
<relaxed state="on"/>
|
||||
<vapic state="on"/>
|
||||
<spinlocks state="on" retries="8191"/>
|
||||
<vpindex state="on"/>
|
||||
<runtime state="on"/>
|
||||
<synic state="on"/>
|
||||
<stimer state="on"/>
|
||||
<frequencies state="on"/>
|
||||
<tlbflush state="on"/>
|
||||
<ipi state="on"/>
|
||||
<evmcs state="on"/>
|
||||
<avic state="on"/>
|
||||
</hyperv>
|
||||
<vmport state="off"/>
|
||||
</features>
|
||||
|
@ -21,6 +21,15 @@
|
||||
<relaxed state="on"/>
|
||||
<vapic state="on"/>
|
||||
<spinlocks state="on" retries="8191"/>
|
||||
<vpindex state="on"/>
|
||||
<runtime state="on"/>
|
||||
<synic state="on"/>
|
||||
<stimer state="on"/>
|
||||
<frequencies state="on"/>
|
||||
<tlbflush state="on"/>
|
||||
<ipi state="on"/>
|
||||
<evmcs state="on"/>
|
||||
<avic state="on"/>
|
||||
</hyperv>
|
||||
<vmport state="off"/>
|
||||
</features>
|
||||
@ -93,6 +102,15 @@
|
||||
<relaxed state="on"/>
|
||||
<vapic state="on"/>
|
||||
<spinlocks state="on" retries="8191"/>
|
||||
<vpindex state="on"/>
|
||||
<runtime state="on"/>
|
||||
<synic state="on"/>
|
||||
<stimer state="on"/>
|
||||
<frequencies state="on"/>
|
||||
<tlbflush state="on"/>
|
||||
<ipi state="on"/>
|
||||
<evmcs state="on"/>
|
||||
<avic state="on"/>
|
||||
</hyperv>
|
||||
<vmport state="off"/>
|
||||
</features>
|
||||
|
@ -20,6 +20,15 @@
|
||||
<relaxed state="on"/>
|
||||
<vapic state="on"/>
|
||||
<spinlocks state="on" retries="8191"/>
|
||||
<vpindex state="on"/>
|
||||
<runtime state="on"/>
|
||||
<synic state="on"/>
|
||||
<stimer state="on"/>
|
||||
<frequencies state="on"/>
|
||||
<tlbflush state="on"/>
|
||||
<ipi state="on"/>
|
||||
<evmcs state="on"/>
|
||||
<avic state="on"/>
|
||||
</hyperv>
|
||||
</features>
|
||||
<cpu mode="host-passthrough"/>
|
||||
@ -111,6 +120,15 @@
|
||||
<relaxed state="on"/>
|
||||
<vapic state="on"/>
|
||||
<spinlocks state="on" retries="8191"/>
|
||||
<vpindex state="on"/>
|
||||
<runtime state="on"/>
|
||||
<synic state="on"/>
|
||||
<stimer state="on"/>
|
||||
<frequencies state="on"/>
|
||||
<tlbflush state="on"/>
|
||||
<ipi state="on"/>
|
||||
<evmcs state="on"/>
|
||||
<avic state="on"/>
|
||||
</hyperv>
|
||||
</features>
|
||||
<cpu mode="host-passthrough"/>
|
||||
|
@ -21,6 +21,15 @@
|
||||
<relaxed state="on"/>
|
||||
<vapic state="on"/>
|
||||
<spinlocks state="on" retries="8191"/>
|
||||
<vpindex state="on"/>
|
||||
<runtime state="on"/>
|
||||
<synic state="on"/>
|
||||
<stimer state="on"/>
|
||||
<frequencies state="on"/>
|
||||
<tlbflush state="on"/>
|
||||
<ipi state="on"/>
|
||||
<evmcs state="on"/>
|
||||
<avic state="on"/>
|
||||
</hyperv>
|
||||
<vmport state="off"/>
|
||||
</features>
|
||||
@ -111,6 +120,15 @@
|
||||
<relaxed state="on"/>
|
||||
<vapic state="on"/>
|
||||
<spinlocks state="on" retries="8191"/>
|
||||
<vpindex state="on"/>
|
||||
<runtime state="on"/>
|
||||
<synic state="on"/>
|
||||
<stimer state="on"/>
|
||||
<frequencies state="on"/>
|
||||
<tlbflush state="on"/>
|
||||
<ipi state="on"/>
|
||||
<evmcs state="on"/>
|
||||
<avic state="on"/>
|
||||
</hyperv>
|
||||
<vmport state="off"/>
|
||||
</features>
|
||||
|
@ -23,6 +23,15 @@
|
||||
<relaxed state="on"/>
|
||||
<vapic state="on"/>
|
||||
<spinlocks state="on" retries="8191"/>
|
||||
<vpindex state="on"/>
|
||||
<runtime state="on"/>
|
||||
<synic state="on"/>
|
||||
<stimer state="on"/>
|
||||
<frequencies state="on"/>
|
||||
<tlbflush state="on"/>
|
||||
<ipi state="on"/>
|
||||
<evmcs state="on"/>
|
||||
<avic state="on"/>
|
||||
</hyperv>
|
||||
<vmport state="off"/>
|
||||
</features>
|
||||
@ -124,6 +133,15 @@
|
||||
<relaxed state="on"/>
|
||||
<vapic state="on"/>
|
||||
<spinlocks state="on" retries="8191"/>
|
||||
<vpindex state="on"/>
|
||||
<runtime state="on"/>
|
||||
<synic state="on"/>
|
||||
<stimer state="on"/>
|
||||
<frequencies state="on"/>
|
||||
<tlbflush state="on"/>
|
||||
<ipi state="on"/>
|
||||
<evmcs state="on"/>
|
||||
<avic state="on"/>
|
||||
</hyperv>
|
||||
<vmport state="off"/>
|
||||
</features>
|
||||
|
@ -20,6 +20,7 @@ class _CapsCPU(XMLBuilder):
|
||||
XML_NAME = "cpu"
|
||||
arch = XMLProperty("./arch")
|
||||
model = XMLProperty("./model")
|
||||
vendor = XMLProperty("./vendor")
|
||||
|
||||
|
||||
######################################
|
||||
|
@ -27,6 +27,12 @@ class DomainClock(XMLBuilder):
|
||||
offset = XMLProperty("./@offset")
|
||||
timers = XMLChildProperty(_ClockTimer)
|
||||
|
||||
def has_hyperv_timer(self):
|
||||
for timer in self.timers:
|
||||
if timer.name == "hypervclock":
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
##################
|
||||
# Default config #
|
||||
|
@ -81,6 +81,26 @@ class DomainFeatures(XMLBuilder):
|
||||
_enable("vapic")
|
||||
_enable("spinlocks")
|
||||
_enable("spinlocks_retries", feature="spinlocks", value=8191)
|
||||
_enable("vpindex")
|
||||
_enable("runtime")
|
||||
_enable("synic", requires=["vpindex"])
|
||||
|
||||
# Both hyperv_stimer and hyperv_stimer requires hv-timer to be enabled
|
||||
# which libvirt hides under hypervclock timer.
|
||||
if guest.clock.has_hyperv_timer():
|
||||
_enable("stimer", requires=["vpindex", "synic"])
|
||||
_enable("stimer_direct", requires=["vpindex", "synic", "stimer"])
|
||||
|
||||
_enable("frequencies")
|
||||
|
||||
_enable("tlbflush", requires=["vpindex"])
|
||||
_enable("ipi", requires=["vpindex"])
|
||||
|
||||
if guest.conn.caps.host.cpu.vendor == "Intel":
|
||||
_enable("evmcs", requires=["vapic"])
|
||||
|
||||
if self.apic is True:
|
||||
_enable("avic")
|
||||
|
||||
def set_defaults(self, guest):
|
||||
if guest.os.is_container():
|
||||
|
Loading…
x
Reference in New Issue
Block a user