|
|
519ab5 |
From e85f56920d0a22b55ab54b5955ab594568f24a60 Mon Sep 17 00:00:00 2001
|
|
|
519ab5 |
Message-Id: <e85f56920d0a22b55ab54b5955ab594568f24a60@dist-git>
|
|
|
519ab5 |
From: Jiri Denemark <jdenemar@redhat.com>
|
|
|
519ab5 |
Date: Thu, 27 Feb 2020 15:23:04 +0100
|
|
|
519ab5 |
Subject: [PATCH] qemu: Translate features in virQEMUCapsGetCPUFeatures
|
|
|
519ab5 |
MIME-Version: 1.0
|
|
|
519ab5 |
Content-Type: text/plain; charset=UTF-8
|
|
|
519ab5 |
Content-Transfer-Encoding: 8bit
|
|
|
519ab5 |
|
|
|
519ab5 |
Starting with QEMU 4.1 qemuMonitorCPUModelInfo structure in virQEMUCaps
|
|
|
519ab5 |
stores only canonical feature names which may differ from the name used
|
|
|
519ab5 |
by libvirt. We need translate these canonical names into libvirt names
|
|
|
519ab5 |
for further consumption.
|
|
|
519ab5 |
|
|
|
519ab5 |
This fixes a bug in qemuConnectBaselineHypervisorCPU which would remove
|
|
|
519ab5 |
all features for which libvirt's spelling differs from the QEMU's
|
|
|
519ab5 |
preferred name. For example, the following result of
|
|
|
519ab5 |
qemuConnectBaselineHypervisorCPU on my host with QEMU 4.1 is wrong:
|
|
|
519ab5 |
|
|
|
519ab5 |
<cpu mode='custom' match='exact'>
|
|
|
519ab5 |
<model fallback='forbid'>Skylake-Client</model>
|
|
|
519ab5 |
<vendor>Intel</vendor>
|
|
|
519ab5 |
<feature policy='require' name='ss'/>
|
|
|
519ab5 |
<feature policy='require' name='vmx'/>
|
|
|
519ab5 |
<feature policy='require' name='hypervisor'/>
|
|
|
519ab5 |
<feature policy='require' name='clflushopt'/>
|
|
|
519ab5 |
<feature policy='require' name='umip'/>
|
|
|
519ab5 |
<feature policy='require' name='arch-capabilities'/>
|
|
|
519ab5 |
<feature policy='require' name='xsaves'/>
|
|
|
519ab5 |
<feature policy='require' name='pdpe1gb'/>
|
|
|
519ab5 |
<feature policy='require' name='invtsc'/>
|
|
|
519ab5 |
<feature policy='disable' name='pclmuldq'/>
|
|
|
519ab5 |
<feature policy='disable' name='lahf_lm'/>
|
|
|
519ab5 |
</cpu>
|
|
|
519ab5 |
|
|
|
519ab5 |
The 'pclmuldq' and 'lahf_lm' should not be disabled in the baseline CPU
|
|
|
519ab5 |
as they are supported by QEMU on this host.
|
|
|
519ab5 |
|
|
|
519ab5 |
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
|
|
519ab5 |
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
|
|
|
519ab5 |
(cherry picked from commit 1fd28a2e79692babd63d6b8e9eea90168dd0897e)
|
|
|
519ab5 |
|
|
|
519ab5 |
https://bugzilla.redhat.com/show_bug.cgi?id=1804224
|
|
|
519ab5 |
https://bugzilla.redhat.com/show_bug.cgi?id=1809510
|
|
|
519ab5 |
|
|
|
519ab5 |
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
|
|
519ab5 |
Message-Id: <d6d9ffeea42852d1baf6ff08b3174af22b113353.1582813158.git.jdenemar@redhat.com>
|
|
|
519ab5 |
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
|
|
519ab5 |
---
|
|
|
519ab5 |
src/qemu/qemu_capabilities.c | 3 ++-
|
|
|
519ab5 |
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
519ab5 |
|
|
|
519ab5 |
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
|
|
|
519ab5 |
index c25d8c3e1a..a7cc324105 100644
|
|
|
519ab5 |
--- a/src/qemu/qemu_capabilities.c
|
|
|
519ab5 |
+++ b/src/qemu/qemu_capabilities.c
|
|
|
519ab5 |
@@ -2521,7 +2521,8 @@ virQEMUCapsGetCPUFeatures(virQEMUCapsPtr qemuCaps,
|
|
|
519ab5 |
if (migratable && prop->migratable == VIR_TRISTATE_BOOL_NO)
|
|
|
519ab5 |
continue;
|
|
|
519ab5 |
|
|
|
519ab5 |
- if (VIR_STRDUP(list[n++], prop->name) < 0)
|
|
|
519ab5 |
+ if (VIR_STRDUP(list[n++],
|
|
|
519ab5 |
+ virQEMUCapsCPUFeatureFromQEMU(qemuCaps, prop->name)) < 0)
|
|
|
519ab5 |
goto cleanup;
|
|
|
519ab5 |
}
|
|
|
519ab5 |
|
|
|
519ab5 |
--
|
|
|
519ab5 |
2.25.1
|
|
|
519ab5 |
|