target-arm: Catch attempt to instantiate abstract type in cpu_init()
authorAndreas Färber <afaerber@suse.de>
Wed, 23 Jan 2013 11:32:49 +0000 (12:32 +0100)
committerAndreas Färber <afaerber@suse.de>
Sun, 27 Jan 2013 22:33:34 +0000 (23:33 +0100)
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>
target-arm/cpu.c

index 57126b6..d1a4c82 100644 (file)
@@ -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;