diff options
author | Eduardo Habkost <ehabkost@redhat.com> | 2015-02-12 22:57:44 -0200 |
---|---|---|
committer | Eduardo Habkost <ehabkost@redhat.com> | 2016-05-23 19:47:37 -0300 |
commit | 57f2453ab48a771b30aeced01b329ee85853bb7b (patch) | |
tree | 7cd0ddf9d7f02c06332bbdbee620f77a231d9edb | |
parent | 4fe15cdedf8728e58b8e475f8b1a26fb16aa9caa (diff) |
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>
-rw-r--r-- | target-i386/cpu.c | 9 |
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) |