cpu: Use ppc64Compute() to implement ppc64DriverCompare()

This ensures comparison of two CPU definitions will be consistent
regardless of the fact that it is performed using cpuCompare() or
cpuGuestData(). The x86 driver uses the same exact code.
This commit is contained in:
Andrea Bolognani 2015-08-07 17:39:11 +02:00
parent 96b2c7459c
commit d574094d30

View File

@ -438,16 +438,22 @@ ppc64DriverCompare(virCPUDefPtr host,
virCPUDefPtr cpu, virCPUDefPtr cpu,
bool failIncompatible) bool failIncompatible)
{ {
if ((cpu->arch == VIR_ARCH_NONE || host->arch == cpu->arch) && virCPUCompareResult ret;
STREQ(host->model, cpu->model)) char *message = NULL;
return VIR_CPU_COMPARE_IDENTICAL;
if (failIncompatible) { ret = ppc64Compute(host, cpu, NULL, &message);
virReportError(VIR_ERR_CPU_INCOMPATIBLE, NULL);
return VIR_CPU_COMPARE_ERROR; if (failIncompatible && ret == VIR_CPU_COMPARE_INCOMPATIBLE) {
} else { ret = VIR_CPU_COMPARE_ERROR;
return VIR_CPU_COMPARE_INCOMPATIBLE; if (message) {
virReportError(VIR_ERR_CPU_INCOMPATIBLE, "%s", message);
} else {
virReportError(VIR_ERR_CPU_INCOMPATIBLE, NULL);
}
} }
VIR_FREE(message);
return ret;
} }
static int static int