From: Jiri Denemark Date: Tue, 2 Feb 2010 14:19:14 +0000 (+0100) Subject: Implement cpuBaseline in remote and qemu drivers X-Git-Tag: v0.7.7~172 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dfab48ac549add956727841c855b2062f2e91130;p=thirdparty%2Flibvirt.git Implement cpuBaseline in remote and qemu drivers --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index f666d3435d..a2be1a300e 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -8509,6 +8509,19 @@ qemuCPUCompare(virConnectPtr conn, return ret; } +static char * +qemuCPUBaseline(virConnectPtr conn ATTRIBUTE_UNUSED, + const char **xmlCPUs, + unsigned int ncpus, + unsigned int flags ATTRIBUTE_UNUSED) +{ + char *cpu; + + cpu = cpuBaselineXML(xmlCPUs, ncpus, NULL, 0); + + return cpu; +} + static virDriver qemuDriver = { VIR_DRV_QEMU, "QEMU", @@ -8587,7 +8600,7 @@ static virDriver qemuDriver = { qemuDomainIsActive, qemuDomainIsPersistent, qemuCPUCompare, /* cpuCompare */ - NULL, /* cpuBaseline */ + qemuCPUBaseline, /* cpuBaseline */ }; diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 6dc54ece6f..13534ce806 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -7590,6 +7590,37 @@ done: return rv; } + +static char * +remoteCPUBaseline(virConnectPtr conn, + const char **xmlCPUs, + unsigned int ncpus, + unsigned int flags) +{ + struct private_data *priv = conn->privateData; + remote_cpu_baseline_args args; + remote_cpu_baseline_ret ret; + char *cpu = NULL; + + remoteDriverLock(priv); + + args.xmlCPUs.xmlCPUs_len = ncpus; + args.xmlCPUs.xmlCPUs_val = (char **) xmlCPUs; + args.flags = flags; + + memset(&ret, 0, sizeof (ret)); + if (call(conn, priv, 0, REMOTE_PROC_CPU_BASELINE, + (xdrproc_t) xdr_remote_cpu_baseline_args, (char *) &args, + (xdrproc_t) xdr_remote_cpu_baseline_ret, (char *) &ret) == -1) + goto done; + + cpu = ret.cpu; + +done: + remoteDriverUnlock(priv); + return cpu; +} + /*----------------------------------------------------------------------*/ @@ -8980,7 +9011,7 @@ static virDriver remote_driver = { remoteDomainIsActive, /* domainIsActive */ remoteDomainIsPersistent, /* domainIsPersistent */ remoteCPUCompare, /* cpuCompare */ - NULL, /* cpuBaseline */ + remoteCPUBaseline, /* cpuBaseline */ }; static virNetworkDriver network_driver = {