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",
qemuDomainIsActive,
qemuDomainIsPersistent,
qemuCPUCompare, /* cpuCompare */
- NULL, /* cpuBaseline */
+ qemuCPUBaseline, /* cpuBaseline */
};
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;
+}
+
/*----------------------------------------------------------------------*/
remoteDomainIsActive, /* domainIsActive */
remoteDomainIsPersistent, /* domainIsPersistent */
remoteCPUCompare, /* cpuCompare */
- NULL, /* cpuBaseline */
+ remoteCPUBaseline, /* cpuBaseline */
};
static virNetworkDriver network_driver = {