summaryrefslogtreecommitdiff
path: root/target-i386/cpu.c
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2015-02-12 22:57:44 -0200
committerEduardo Habkost <ehabkost@redhat.com>2016-05-23 19:47:37 -0300
commit57f2453ab48a771b30aeced01b329ee85853bb7b (patch)
tree7cd0ddf9d7f02c06332bbdbee620f77a231d9edb /target-i386/cpu.c
parent4fe15cdedf8728e58b8e475f8b1a26fb16aa9caa (diff)
downloadqemu-57f2453ab48a771b30aeced01b329ee85853bb7b.tar.gz
qemu-57f2453ab48a771b30aeced01b329ee85853bb7b.tar.bz2
qemu-57f2453ab48a771b30aeced01b329ee85853bb7b.zip
target-i386: Move TCG initialization to realize time
QOM instance_init functions are not supposed to have any side-effects, as new objects may be created at any moment for querying property information (see qmp_device_list_properties()). Move TCG initialization to realize time so it won't be called when just doing object_new() on a X86CPU subclass. Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'target-i386/cpu.c')
-rw-r--r--target-i386/cpu.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 2dc3d3cf3b..9ac2e59151 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -2902,6 +2902,10 @@ static void x86_cpu_realizefn(DeviceState *dev, Error **errp)
}
+ if (tcg_enabled()) {
+ tcg_x86_init();
+ }
+
#ifndef CONFIG_USER_ONLY
qemu_register_reset(x86_cpu_machine_reset_cb, cpu);
@@ -3136,11 +3140,6 @@ static void x86_cpu_initfn(Object *obj)
}
x86_cpu_load_def(cpu, xcc->cpu_def, &error_abort);
-
- /* init various static tables used in TCG mode */
- if (tcg_enabled()) {
- tcg_x86_init();
- }
}
static int64_t x86_cpu_get_arch_id(CPUState *cs)