target-i386: Move TCG initialization check to tcg_x86_init()
Instead of requiring cpu.c to check if TCG was already initialized, simply let the function be called multiple times. Suggested-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
3e2c0e062f
commit
4fe15cdedf
@ -3088,7 +3088,6 @@ static void x86_cpu_initfn(Object *obj)
|
||||
X86CPUClass *xcc = X86_CPU_GET_CLASS(obj);
|
||||
CPUX86State *env = &cpu->env;
|
||||
FeatureWord w;
|
||||
static int inited;
|
||||
|
||||
cs->env_ptr = env;
|
||||
cpu_exec_init(cs, &error_abort);
|
||||
@ -3139,8 +3138,7 @@ 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() && !inited) {
|
||||
inited = 1;
|
||||
if (tcg_enabled()) {
|
||||
tcg_x86_init();
|
||||
}
|
||||
}
|
||||
|
@ -8144,6 +8144,12 @@ void tcg_x86_init(void)
|
||||
"bnd0_ub", "bnd1_ub", "bnd2_ub", "bnd3_ub"
|
||||
};
|
||||
int i;
|
||||
static bool initialized;
|
||||
|
||||
if (initialized) {
|
||||
return;
|
||||
}
|
||||
initialized = true;
|
||||
|
||||
cpu_env = tcg_global_reg_new_ptr(TCG_AREG0, "env");
|
||||
cpu_cc_op = tcg_global_mem_new_i32(cpu_env,
|
||||
|
Loading…
Reference in New Issue
Block a user