Commit 1b21b62ab4b68da17b18f630e33ff7e1d5e3d3a2
1 parent
a1516e92
ARM fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@317 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
4 additions
and
7 deletions
cpu-exec.c
| ... | ... | @@ -225,7 +225,9 @@ int cpu_exec(CPUState *env1) |
| 225 | 225 | cpu_x86_dump_state(env, logfile, X86_DUMP_CCOP); |
| 226 | 226 | env->eflags &= ~(DF_MASK | CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C); |
| 227 | 227 | #elif defined(TARGET_ARM) |
| 228 | + env->cpsr = compute_cpsr(); | |
| 228 | 229 | cpu_arm_dump_state(env, logfile, 0); |
| 230 | + env->cpsr &= ~0xf0000000; | |
| 229 | 231 | #else |
| 230 | 232 | #error unsupported target CPU |
| 231 | 233 | #endif |
| ... | ... | @@ -306,7 +308,7 @@ int cpu_exec(CPUState *env1) |
| 306 | 308 | T0 = tmp_T0; |
| 307 | 309 | #endif |
| 308 | 310 | /* see if we can patch the calling TB. XXX: remove TF test */ |
| 309 | - if (T0 != 0 | |
| 311 | + if (T0 != 0 | |
| 310 | 312 | #if defined(TARGET_I386) |
| 311 | 313 | && !(env->eflags & TF_MASK) |
| 312 | 314 | #endif |
| ... | ... | @@ -372,12 +374,7 @@ int cpu_exec(CPUState *env1) |
| 372 | 374 | EDI = saved_EDI; |
| 373 | 375 | #endif |
| 374 | 376 | #elif defined(TARGET_ARM) |
| 375 | - { | |
| 376 | - int ZF; | |
| 377 | - ZF = (env->NZF == 0); | |
| 378 | - env->cpsr = env->cpsr | (env->NZF & 0x80000000) | (ZF << 30) | | |
| 379 | - (env->CF << 29) | ((env->VF & 0x80000000) >> 3); | |
| 380 | - } | |
| 377 | + env->cpsr = compute_cpsr(); | |
| 381 | 378 | #else |
| 382 | 379 | #error unsupported target CPU |
| 383 | 380 | #endif | ... | ... |