cpu_exec_init() change
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1643 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/target-arm/translate.c b/target-arm/translate.c
index afb9b57..601db55 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -2199,13 +2199,10 @@
{
CPUARMState *env;
- cpu_exec_init();
-
- env = malloc(sizeof(CPUARMState));
+ env = qemu_mallocz(sizeof(CPUARMState));
if (!env)
return NULL;
- memset(env, 0, sizeof(CPUARMState));
- cpu_single_env = env;
+ cpu_exec_init(env);
return env;
}
diff --git a/target-i386/helper2.c b/target-i386/helper2.c
index 6033590..943ff59 100644
--- a/target-i386/helper2.c
+++ b/target-i386/helper2.c
@@ -47,12 +47,11 @@
CPUX86State *env;
static int inited;
- cpu_exec_init();
-
- env = malloc(sizeof(CPUX86State));
+ env = qemu_mallocz(sizeof(CPUX86State));
if (!env)
return NULL;
- memset(env, 0, sizeof(CPUX86State));
+ cpu_exec_init(env);
+
/* init various static tables */
if (!inited) {
inited = 1;
@@ -135,7 +134,6 @@
env->cpuid_features |= CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA;
#endif
}
- cpu_single_env = env;
cpu_reset(env);
#ifdef USE_KQEMU
kqemu_init(env);
diff --git a/target-mips/translate.c b/target-mips/translate.c
index 2dc33af..71b101b 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -1694,10 +1694,10 @@
{
CPUMIPSState *env;
- cpu_exec_init();
env = qemu_mallocz(sizeof(CPUMIPSState));
if (!env)
return NULL;
+ cpu_exec_init(env);
tlb_flush(env, 1);
/* Minimal init */
env->PC = 0xBFC00000;
@@ -1722,8 +1722,5 @@
env->CP0_Debug = (1 << CP0DB_CNT) | (0x1 << CP0DB_VER);
env->CP0_PRid = MIPS_CPU;
env->exception_index = EXCP_NONE;
-
- cpu_single_env = env;
-
return env;
}
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index 624527d..012c34f 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -1081,11 +1081,10 @@
{
CPUPPCState *env;
- cpu_exec_init();
-
env = qemu_mallocz(sizeof(CPUPPCState));
if (!env)
return NULL;
+ cpu_exec_init(env);
tlb_flush(env, 1);
#if defined (DO_SINGLE_STEP) && 0
/* Single step trace mode */
@@ -1101,7 +1100,6 @@
#endif
do_compute_hflags(env);
env->reserve = -1;
- cpu_single_env = env;
return env;
}