[libvirt] [PATCH] qemu: Translate features in virQEMUCapsGetCPUFeatures

Andrea Bolognani abologna at redhat.com
Thu Jul 25 09:00:01 UTC 2019


On Thu, 2019-07-25 at 10:37 +0200, Jiri Denemark wrote:
> Starting with QEMU 4.1 qemuMonitorCPUModelInfo structure in virQEMUCaps
> stores only canonical feature names which may differ from the name used
> by libvirt. We need translate these canonical names into libvirt names
> for further consumption.
> 
> This fixes a bug in qemuConnectBaselineHypervisorCPU which would remove
> all features for which libvirt's spelling differs from the QEMU's
> preferred name. For example, the following result of
> qemuConnectBaselineHypervisorCPU on my host with QEMU 4.1 is wrong:
> 
>     <cpu mode='custom' match='exact'>
>       <model fallback='forbid'>Skylake-Client</model>
>       <vendor>Intel</vendor>
>       <feature policy='require' name='ss'/>
>       <feature policy='require' name='vmx'/>
>       <feature policy='require' name='hypervisor'/>
>       <feature policy='require' name='clflushopt'/>
>       <feature policy='require' name='umip'/>
>       <feature policy='require' name='arch-capabilities'/>
>       <feature policy='require' name='xsaves'/>
>       <feature policy='require' name='pdpe1gb'/>
>       <feature policy='require' name='invtsc'/>
>       <feature policy='disable' name='pclmuldq'/>
>       <feature policy='disable' name='lahf_lm'/>
>     </cpu>

You can indent this by two spaces instead of four.

> The 'pclmuldq' and 'lahf_lm' should not be disabled in the baseline CPU
> as they are supported by QEMU on this host.
> 
> Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> ---
>  src/qemu/qemu_capabilities.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Reviewed-by: Andrea Bolognani <abologna at redhat.com>

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list