summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Färber <afaerber@suse.de>2013-01-06 08:31:31 +0000
committerAlexander Graf <agraf@suse.de>2013-01-07 17:37:11 +0100
commit1b7ce68fb45b97a9eaf71eeb81d2b4f4ea6bf4b2 (patch)
tree0fff63228b5a006bb1d0ea8a67efe34ad813b301
parent2985b86b5c9c068af203bd912309af033112039a (diff)
downloadfocaccia-qemu-1b7ce68fb45b97a9eaf71eeb81d2b4f4ea6bf4b2.tar.gz
focaccia-qemu-1b7ce68fb45b97a9eaf71eeb81d2b4f4ea6bf4b2.zip
target-ppc: Error out for -cpu host on unknown PVR
Previously we silently exited, with subclasses we got an opcode warning.
Instead, explicitly tell the user what's wrong.

An indication for this is -cpu ? showing "host" with an all-zero PVR.

Signed-off-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--target-ppc/kvm.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
index ce7d69b403..4846acfc0d 100644
--- a/target-ppc/kvm.c
+++ b/target-ppc/kvm.c
@@ -1232,7 +1232,15 @@ static void alter_insns(uint64_t *word, uint64_t flags, bool on)
 
 static void kvmppc_host_cpu_initfn(Object *obj)
 {
+    PowerPCCPUClass *pcc = POWERPC_CPU_GET_CLASS(obj);
+
     assert(kvm_enabled());
+
+    if (pcc->info->pvr != mfpvr()) {
+        fprintf(stderr, "Your host CPU is unsupported.\n"
+                "Please choose a supported model instead, see -cpu ?.\n");
+        exit(1);
+    }
 }
 
 static void kvmppc_host_cpu_class_init(ObjectClass *oc, void *data)