[libvirt] [PATCH v2 15/31] qemu: Introduce virQEMUCapsCPUDefsToModels
Ján Tomko
jtomko at redhat.com
Wed Oct 16 15:20:05 UTC 2019
On Tue, Oct 15, 2019 at 05:34:51PM +0200, Jiri Denemark wrote:
>The function translates qemuMonitorCPUDefsPtr (used by QEMU caps probing
>code) into virDomainCapsCPUModelsPtr used by domain capabilities.
>
>Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
>---
>
>Notes:
> Version 2:
> - trivial rebase
>
> src/qemu/qemu_capabilities.c | 71 +++++++++++++++++++++---------------
> 1 file changed, 42 insertions(+), 29 deletions(-)
>
>diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
>index e38ad03ab5..87ac9bacdc 100644
>--- a/src/qemu/qemu_capabilities.c
>+++ b/src/qemu/qemu_capabilities.c
>@@ -1887,6 +1887,41 @@ virQEMUCapsAddCPUDefinitions(virQEMUCapsPtr qemuCaps,
> }
>
>
>+static virDomainCapsCPUModelsPtr
>+virQEMUCapsCPUDefsToModels(qemuMonitorCPUDefsPtr defs,
>+ const char **modelWhitelist,
>+ const char **modelBlacklist)
>+{
>+ VIR_AUTOUNREF(virDomainCapsCPUModelsPtr) cpuModels = NULL;
g_autoptr
>+ size_t i;
>+
>+ if (!(cpuModels = virDomainCapsCPUModelsNew(defs->ncpus)))
>+ return NULL;
>+
>+ for (i = 0; i < defs->ncpus; i++) {
>+ qemuMonitorCPUDefInfoPtr cpu = defs->cpus + i;
>+ virDomainCapsCPUUsable usable = VIR_DOMCAPS_CPU_USABLE_UNKNOWN;
>+
>+ if (modelWhitelist && !virStringListHasString(modelWhitelist, cpu->name))
>+ continue;
>+
>+ if (modelBlacklist && virStringListHasString(modelBlacklist, cpu->name))
>+ continue;
>+
>+ if (cpu->usable == VIR_TRISTATE_BOOL_YES)
>+ usable = VIR_DOMCAPS_CPU_USABLE_YES;
>+ else if (cpu->usable == VIR_TRISTATE_BOOL_NO)
>+ usable = VIR_DOMCAPS_CPU_USABLE_NO;
>+
>+ if (virDomainCapsCPUModelsAdd(cpuModels, cpu->name,
>+ usable, cpu->blockers) < 0)
>+ return NULL;
>+ }
>+
>+ VIR_RETURN_PTR(cpuModels);
return g_steal_pointer(&cpuModels);
Reviewed-by: Ján Tomko <jtomko at redhat.com>
Jano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20191016/95030e92/attachment-0001.sig>
More information about the libvir-list
mailing list