aboutsummaryrefslogtreecommitdiff
path: root/target-arm/cpu.c
diff options
context:
space:
mode:
authorAndreas Färber <afaerber@suse.de>2013-01-23 12:32:49 +0100
committerAndreas Färber <afaerber@suse.de>2013-01-27 23:33:34 +0100
commit245fb54db5f8c88c9d73e037178bc3ca1f9a4bb6 (patch)
tree89e43c833c80b424890a0894e4edcb1bc9aa35e6 /target-arm/cpu.c
parenta120c287086e0b03a57f1f4ac7d7aa73fe3d1fe7 (diff)
target-arm: Catch attempt to instantiate abstract type in cpu_init()
This fixes -cpu arm-cpu asserting. Cc: qemu-stable@nongnu.org Acked-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'target-arm/cpu.c')
-rw-r--r--target-arm/cpu.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/target-arm/cpu.c b/target-arm/cpu.c
index 57126b6855..d1a4c82680 100644
--- a/target-arm/cpu.c
+++ b/target-arm/cpu.c
@@ -210,7 +210,8 @@ static ObjectClass *arm_cpu_class_by_name(const char *cpu_model)
}
oc = object_class_by_name(cpu_model);
- if (!oc || !object_class_dynamic_cast(oc, TYPE_ARM_CPU)) {
+ if (!oc || !object_class_dynamic_cast(oc, TYPE_ARM_CPU) ||
+ object_class_is_abstract(oc)) {
return NULL;
}
return oc;