To allow the machine model to set device properties before CPU
realization.

Signed-off-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com>
---

 hw/arm/highbank.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c
index fe98ef1..70831ba 100644
--- a/hw/arm/highbank.c
+++ b/hw/arm/highbank.c
@@ -228,11 +228,18 @@ static void calxeda_init(QEMUMachineInitArgs *args, enum 
cxmachines machine)
         }
     }
 
+    cpu_model = g_strdup_printf("%s-" TYPE_ARM_CPU, cpu_model);
+
     for (n = 0; n < smp_cpus; n++) {
         ARMCPU *cpu;
-        cpu = cpu_arm_init(cpu_model);
-        if (cpu == NULL) {
-            fprintf(stderr, "Unable to find CPU definition\n");
+        Error *err = NULL;
+
+        cpu = ARM_CPU(object_new(cpu_model));
+        g_free((void *)cpu_model);
+
+        object_property_set_bool(OBJECT(cpu), true, "realized", &err);
+        if (err) {
+            fprintf(stderr, "%s\n", error_get_pretty(err));
             exit(1);
         }
 
-- 
1.8.4.4


Reply via email to