From dfab48ac549add956727841c855b2062f2e91130 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Tue, 2 Feb 2010 15:19:14 +0100 Subject: [PATCH] Implement cpuBaseline in remote and qemu drivers --- src/qemu/qemu_driver.c | 15 ++++++++++++++- src/remote/remote_driver.c | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 46 insertions(+), 2 deletions(-) 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 = { -- 2.47.2