From 69f4030aadf0e4f8af07493213026b7226531e7f Mon Sep 17 00:00:00 2001 From: Joao Martins Date: Wed, 20 Jul 2016 20:08:49 +0100 Subject: [PATCH] libxl: implement virConnectBaselineCPU Akin to previous commit but for "virsh cpu-baseline" which computes a baseline CPU for a set of host cpu elements. Signed-off-by: Joao Martins Signed-off-by: Michal Privoznik --- src/libxl/libxl_driver.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index c614e34c82..04ffaa685a 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -6386,6 +6386,26 @@ libxlConnectCompareCPU(virConnectPtr conn, return ret; } +static char * +libxlConnectBaselineCPU(virConnectPtr conn, + const char **xmlCPUs, + unsigned int ncpus, + unsigned int flags) +{ + char *cpu = NULL; + + virCheckFlags(VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES | + VIR_CONNECT_BASELINE_CPU_MIGRATABLE, NULL); + + if (virConnectBaselineCPUEnsureACL(conn) < 0) + goto cleanup; + + cpu = cpuBaselineXML(xmlCPUs, ncpus, NULL, 0, flags); + + cleanup: + return cpu; +} + static virHypervisorDriver libxlHypervisorDriver = { .name = LIBXL_DRIVER_NAME, .connectOpen = libxlConnectOpen, /* 0.9.0 */ @@ -6491,6 +6511,7 @@ static virHypervisorDriver libxlHypervisorDriver = { .domainInterfaceAddresses = libxlDomainInterfaceAddresses, /* 1.3.5 */ .connectGetDomainCapabilities = libxlConnectGetDomainCapabilities, /* 2.0.0 */ .connectCompareCPU = libxlConnectCompareCPU, /* 2.3.0 */ + .connectBaselineCPU = libxlConnectBaselineCPU, /* 2.3.0 */ }; static virConnectDriver libxlConnectDriver = { -- 2.39.5