Ensures that a QOM-created S390CPU is usable. Signed-off-by: Andreas Färber <afaer...@suse.de> --- target-s390x/cpu.c | 6 ++++++ target-s390x/helper.c | 7 ------- 2 Dateien geändert, 6 Zeilen hinzugefügt(+), 7 Zeilen entfernt(-)
diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c index 60f71fc..109777e 100644 --- a/target-s390x/cpu.c +++ b/target-s390x/cpu.c @@ -112,6 +112,7 @@ static void s390_cpu_initfn(Object *obj) { S390CPU *cpu = S390_CPU(obj); CPUS390XState *env = &cpu->env; + static bool inited; static int cpu_num = 0; #if !defined(CONFIG_USER_ONLY) struct tm tm; @@ -133,6 +134,11 @@ static void s390_cpu_initfn(Object *obj) #endif env->cpu_num = cpu_num++; env->ext_index = -1; + + if (tcg_enabled() && !inited) { + inited = true; + s390x_translate_init(); + } } static void s390_cpu_finalize(Object *obj) diff --git a/target-s390x/helper.c b/target-s390x/helper.c index 45020b2..bad0683 100644 --- a/target-s390x/helper.c +++ b/target-s390x/helper.c @@ -74,16 +74,9 @@ S390CPU *cpu_s390x_init(const char *cpu_model) { S390CPU *cpu; CPUS390XState *env; - static int inited; cpu = S390_CPU(object_new(TYPE_S390_CPU)); env = &cpu->env; - - if (tcg_enabled() && !inited) { - inited = 1; - s390x_translate_init(); - } - env->cpu_model_str = cpu_model; object_property_set_bool(OBJECT(cpu), true, "realized", NULL); -- 1.7.10.4