summaryrefslogtreecommitdiff
path: root/target-ppc
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 /target-ppc
parent2985b86b5c9c068af203bd912309af033112039a (diff)
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>
Diffstat (limited to 'target-ppc')
-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)