Commit 6276c7675803abf1752b9bf5c68dd4b81dcf8fa7
1 parent
d951f6ff
Fix logic bug which broke TLBL/TLBS handling somewhat.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3478 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
3 additions
and
3 deletions
target-mips/helper.c
... | ... | @@ -472,9 +472,6 @@ void do_interrupt (CPUState *env) |
472 | 472 | goto set_EPC; |
473 | 473 | case EXCP_TLBS: |
474 | 474 | cause = 3; |
475 | - goto set_EPC; | |
476 | - case EXCP_THREAD: | |
477 | - cause = 25; | |
478 | 475 | if (env->error_code == 1 && !(env->CP0_Status & (1 << CP0St_EXL))) { |
479 | 476 | #if defined(TARGET_MIPSN32) || defined(TARGET_MIPS64) |
480 | 477 | int R = env->CP0_BadVAddr >> 62; |
... | ... | @@ -488,6 +485,9 @@ void do_interrupt (CPUState *env) |
488 | 485 | #endif |
489 | 486 | offset = 0x000; |
490 | 487 | } |
488 | + goto set_EPC; | |
489 | + case EXCP_THREAD: | |
490 | + cause = 25; | |
491 | 491 | set_EPC: |
492 | 492 | if (!(env->CP0_Status & (1 << CP0St_EXL))) { |
493 | 493 | if (env->hflags & MIPS_HFLAG_BMASK) { | ... | ... |