On Tue, Jan 12, 2010 at 03:25:44PM +0100, Jiri Denemark wrote:
When comparing incompatible CPUs, the reason for this incompatibility
is
logged as a debug message.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/cpu/cpu_x86.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index 7c50261..50c03ad 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -755,8 +755,10 @@ x86Compute(virCPUDefPtr host,
}
}
- if (!found)
+ if (!found) {
+ VIR_DEBUG("CPU arch %s does not match host arch", cpu->arch);
return VIR_CPU_COMPARE_INCOMPATIBLE;
+ }
}
if ((map = x86LoadMap()) == NULL)
@@ -796,6 +798,8 @@ x86Compute(virCPUDefPtr host,
cpuid1->function);
if (cpuid2 != NULL && x86cpuidMatchAny(cpuid2, cpuid1)) {
+ VIR_DEBUG("Host CPU provides forbidden features in CPUID function
0x%x",
+ cpuid1->function);
ret = VIR_CPU_COMPARE_INCOMPATIBLE;
goto out;
}
@@ -803,6 +807,7 @@ x86Compute(virCPUDefPtr host,
result = x86ModelCompare(host_model, cpu_require);
if (result == SUBSET || result == UNRELATED) {
+ VIR_DEBUG0("Host CPU does not provide all required features");
ret = VIR_CPU_COMPARE_INCOMPATIBLE;
goto out;
}
@@ -819,6 +824,7 @@ x86Compute(virCPUDefPtr host,
if (ret == VIR_CPU_COMPARE_SUPERSET
&& cpu->type == VIR_CPU_TYPE_GUEST
&& cpu->match == VIR_CPU_MATCH_STRICT) {
+ VIR_DEBUG0("Host CPU does not strictly match guest CPU");
ret = VIR_CPU_COMPARE_INCOMPATIBLE;
goto out;
}
ACK
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|