Commit 6276c7675803abf1752b9bf5c68dd4b81dcf8fa7

Authored by ths
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,9 +472,6 @@ void do_interrupt (CPUState *env)
472 goto set_EPC; 472 goto set_EPC;
473 case EXCP_TLBS: 473 case EXCP_TLBS:
474 cause = 3; 474 cause = 3;
475 - goto set_EPC;  
476 - case EXCP_THREAD:  
477 - cause = 25;  
478 if (env->error_code == 1 && !(env->CP0_Status & (1 << CP0St_EXL))) { 475 if (env->error_code == 1 && !(env->CP0_Status & (1 << CP0St_EXL))) {
479 #if defined(TARGET_MIPSN32) || defined(TARGET_MIPS64) 476 #if defined(TARGET_MIPSN32) || defined(TARGET_MIPS64)
480 int R = env->CP0_BadVAddr >> 62; 477 int R = env->CP0_BadVAddr >> 62;
@@ -488,6 +485,9 @@ void do_interrupt (CPUState *env) @@ -488,6 +485,9 @@ void do_interrupt (CPUState *env)
488 #endif 485 #endif
489 offset = 0x000; 486 offset = 0x000;
490 } 487 }
  488 + goto set_EPC;
  489 + case EXCP_THREAD:
  490 + cause = 25;
491 set_EPC: 491 set_EPC:
492 if (!(env->CP0_Status & (1 << CP0St_EXL))) { 492 if (!(env->CP0_Status & (1 << CP0St_EXL))) {
493 if (env->hflags & MIPS_HFLAG_BMASK) { 493 if (env->hflags & MIPS_HFLAG_BMASK) {