mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00:00
qemu_capabilities: Report Hyper-V Enlightenments in domcapabilities
Inside of qemuCaps (for the corresponding accelerator) we have full host CPU expansion stored, among with supported Hyper-V Enlightenments. To report them in the domain capabilities, we just have to pick those starting with "hv-" and see if we know them. You may notice that neither of our domaincapsdata test shows any enlightenment. This is because the test works by parsing corresponding qemucapabilitiesdata/caps_*.xml file and none of these store the full host CPU expansion (hostCPU.fullQEMU) because that is runtime piece of information and not formatted into virQEMUCaps XML. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1717611 Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
10f4784864
commit
903ea9370d
@ -6823,6 +6823,16 @@ virQEMUCapsFillDomainFeatureSGXCaps(virQEMUCaps *qemuCaps,
|
||||
virQEMUCapsSGXInfoCopy(&domCaps->sgx, qemuCaps->sgxCapabilities);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
virQEMUCapsFillDomainFeatureHypervCaps(virQEMUCaps *qemuCaps,
|
||||
virDomainCaps *domCaps)
|
||||
{
|
||||
domCaps->hyperv = g_memdup(qemuCaps->hypervCapabilities,
|
||||
sizeof(virDomainCapsFeatureHyperv));
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps,
|
||||
virArch hostarch,
|
||||
@ -6879,6 +6889,7 @@ virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps,
|
||||
virQEMUCapsFillDomainFeatureSEVCaps(qemuCaps, domCaps);
|
||||
virQEMUCapsFillDomainFeatureS390PVCaps(qemuCaps, domCaps);
|
||||
virQEMUCapsFillDomainFeatureSGXCaps(qemuCaps, domCaps);
|
||||
virQEMUCapsFillDomainFeatureHypervCaps(qemuCaps, domCaps);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -249,5 +249,23 @@
|
||||
<backup supported='yes'/>
|
||||
<sev supported='no'/>
|
||||
<sgx supported='no'/>
|
||||
<hyperv supported='yes'>
|
||||
<enum name='features'>
|
||||
<value>relaxed</value>
|
||||
<value>vapic</value>
|
||||
<value>spinlocks</value>
|
||||
<value>vpindex</value>
|
||||
<value>runtime</value>
|
||||
<value>synic</value>
|
||||
<value>stimer</value>
|
||||
<value>reset</value>
|
||||
<value>vendor_id</value>
|
||||
<value>frequencies</value>
|
||||
<value>reenlightenment</value>
|
||||
<value>tlbflush</value>
|
||||
<value>ipi</value>
|
||||
<value>avic</value>
|
||||
</enum>
|
||||
</hyperv>
|
||||
</features>
|
||||
</domainCapabilities>
|
||||
|
@ -248,5 +248,23 @@
|
||||
<backup supported='yes'/>
|
||||
<sev supported='no'/>
|
||||
<sgx supported='no'/>
|
||||
<hyperv supported='yes'>
|
||||
<enum name='features'>
|
||||
<value>relaxed</value>
|
||||
<value>vapic</value>
|
||||
<value>spinlocks</value>
|
||||
<value>vpindex</value>
|
||||
<value>runtime</value>
|
||||
<value>synic</value>
|
||||
<value>stimer</value>
|
||||
<value>reset</value>
|
||||
<value>vendor_id</value>
|
||||
<value>frequencies</value>
|
||||
<value>reenlightenment</value>
|
||||
<value>tlbflush</value>
|
||||
<value>ipi</value>
|
||||
<value>avic</value>
|
||||
</enum>
|
||||
</hyperv>
|
||||
</features>
|
||||
</domainCapabilities>
|
||||
|
@ -249,5 +249,23 @@
|
||||
<backup supported='yes'/>
|
||||
<sev supported='no'/>
|
||||
<sgx supported='no'/>
|
||||
<hyperv supported='yes'>
|
||||
<enum name='features'>
|
||||
<value>relaxed</value>
|
||||
<value>vapic</value>
|
||||
<value>spinlocks</value>
|
||||
<value>vpindex</value>
|
||||
<value>runtime</value>
|
||||
<value>synic</value>
|
||||
<value>stimer</value>
|
||||
<value>reset</value>
|
||||
<value>vendor_id</value>
|
||||
<value>frequencies</value>
|
||||
<value>reenlightenment</value>
|
||||
<value>tlbflush</value>
|
||||
<value>ipi</value>
|
||||
<value>avic</value>
|
||||
</enum>
|
||||
</hyperv>
|
||||
</features>
|
||||
</domainCapabilities>
|
||||
|
Loading…
x
Reference in New Issue
Block a user