[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/9] target-i386: Move TCG initialization to realize
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [PATCH 2/9] target-i386: Move TCG initialization to realize time |
Date: |
Fri, 6 May 2016 15:11:25 -0300 |
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.
Signed-off-by: Eduardo Habkost <address@hidden>
---
Changes v1 -> v2:
* Now the inited/tcg_initialized variable doesn't exist anymore
* Move tcg_x86_init() call after basic parameter validation inside
realizefn
---
target-i386/cpu.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index a689fec..bde649a 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -2901,6 +2901,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);
@@ -3135,11 +3139,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)
--
2.5.5
- [Qemu-devel] [PATCH 0/9] Add runnability info to query-cpu-definitions, Eduardo Habkost, 2016/05/06
- [Qemu-devel] [PATCH 1/9] target-i386: Move TCG initialization check to tcg_x86_init(), Eduardo Habkost, 2016/05/06
- [Qemu-devel] [PATCH 2/9] target-i386: Move TCG initialization to realize time,
Eduardo Habkost <=
- [Qemu-devel] [PATCH 3/9] target-i386: Call cpu_exec_init() on realize, Eduardo Habkost, 2016/05/06
- [Qemu-devel] [PATCH 5/9] target-i386: Move warning code outside x86_cpu_filter_features(), Eduardo Habkost, 2016/05/06
- [Qemu-devel] [PATCH 6/9] target-i386: Define CPUID filtering functions before x86_cpu_list(), Eduardo Habkost, 2016/05/06
- [Qemu-devel] [PATCH 4/9] target-i386: List CPU models using subclass list, Eduardo Habkost, 2016/05/06
- [Qemu-devel] [PATCH 8/9] target-i386: Use "-" instead of "_" on all feature names, Eduardo Habkost, 2016/05/06