Commit ecb644f409b9bff0b72b0be8001b7d323b817392

Authored by ths
1 parent bfed01fc

Some more regs_to_env/envs_to_regs cleanup.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2937 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 6 additions and 30 deletions
cpu-exec.c
... ... @@ -263,28 +263,27 @@ int cpu_exec(CPUState *env1)
263 263 asm volatile ("mov %%i7, %0" : "=r" (saved_i7));
264 264 #endif
265 265  
266   -#if defined(TARGET_I386)
267 266 env_to_regs();
  267 +#if defined(TARGET_I386)
268 268 /* put eflags in CPU temporary format */
269 269 CC_SRC = env->eflags & (CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C);
270 270 DF = 1 - (2 * ((env->eflags >> 10) & 1));
271 271 CC_OP = CC_OP_EFLAGS;
272 272 env->eflags &= ~(DF_MASK | CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C);
273   -#elif defined(TARGET_ARM)
274 273 #elif defined(TARGET_SPARC)
275 274 #if defined(reg_REGWPTR)
276 275 saved_regwptr = REGWPTR;
277 276 #endif
278   -#elif defined(TARGET_PPC)
279 277 #elif defined(TARGET_M68K)
280 278 env->cc_op = CC_OP_FLAGS;
281 279 env->cc_dest = env->sr & 0xf;
282 280 env->cc_x = (env->sr >> 4) & 1;
  281 +#elif defined(TARGET_ALPHA)
  282 +#elif defined(TARGET_ARM)
  283 +#elif defined(TARGET_PPC)
283 284 #elif defined(TARGET_MIPS)
284 285 #elif defined(TARGET_SH4)
285 286 /* XXXXX */
286   -#elif defined(TARGET_ALPHA)
287   - env_to_regs();
288 287 #else
289 288 #error unsupported target CPU
290 289 #endif
... ... @@ -522,32 +521,9 @@ int cpu_exec(CPUState *env1)
522 521 }
523 522 #ifdef DEBUG_EXEC
524 523 if ((loglevel & CPU_LOG_TB_CPU)) {
525   -#if defined(TARGET_I386)
526 524 /* restore flags in standard format */
527   -#ifdef reg_EAX
528   - env->regs[R_EAX] = EAX;
529   -#endif
530   -#ifdef reg_EBX
531   - env->regs[R_EBX] = EBX;
532   -#endif
533   -#ifdef reg_ECX
534   - env->regs[R_ECX] = ECX;
535   -#endif
536   -#ifdef reg_EDX
537   - env->regs[R_EDX] = EDX;
538   -#endif
539   -#ifdef reg_ESI
540   - env->regs[R_ESI] = ESI;
541   -#endif
542   -#ifdef reg_EDI
543   - env->regs[R_EDI] = EDI;
544   -#endif
545   -#ifdef reg_EBP
546   - env->regs[R_EBP] = EBP;
547   -#endif
548   -#ifdef reg_ESP
549   - env->regs[R_ESP] = ESP;
550   -#endif
  525 + regs_to_env();
  526 +#if defined(TARGET_I386)
551 527 env->eflags = env->eflags | cc_table[CC_OP].compute_all() | (DF & DF_MASK);
552 528 cpu_dump_state(env, logfile, fprintf, X86_DUMP_CCOP);
553 529 env->eflags &= ~(DF_MASK | CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C);
... ...