OSDN Git Service

cpu_exec_init() change
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 21 Nov 2005 23:32:20 +0000 (23:32 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 21 Nov 2005 23:32:20 +0000 (23:32 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1643 c046a42c-6fe2-441c-8c8c-71466251a162

target-arm/translate.c
target-i386/helper2.c
target-mips/translate.c
target-ppc/translate_init.c

index afb9b57..601db55 100644 (file)
@@ -2199,13 +2199,10 @@ CPUARMState *cpu_arm_init(void)
 {
     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;
 }
 
index 6033590..943ff59 100644 (file)
@@ -47,12 +47,11 @@ CPUX86State *cpu_x86_init(void)
     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 @@ CPUX86State *cpu_x86_init(void)
         env->cpuid_features |= CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA;
 #endif
     }
-    cpu_single_env = env;
     cpu_reset(env);
 #ifdef USE_KQEMU
     kqemu_init(env);
index 2dc33af..71b101b 100644 (file)
@@ -1694,10 +1694,10 @@ CPUMIPSState *cpu_mips_init (void)
 {
     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 @@ CPUMIPSState *cpu_mips_init (void)
     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;
 }
index 624527d..012c34f 100644 (file)
@@ -1081,11 +1081,10 @@ CPUPPCState *cpu_ppc_init(void)
 {
     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 @@ CPUPPCState *cpu_ppc_init(void)
 #endif
     do_compute_hflags(env);
     env->reserve = -1;
-    cpu_single_env = env;
     return env;
 }