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
This commit is contained in:
ths 2007-10-29 02:57:19 +00:00
parent d951f6ff3f
commit 6276c76758

View File

@ -472,9 +472,6 @@ void do_interrupt (CPUState *env)
goto set_EPC;
case EXCP_TLBS:
cause = 3;
goto set_EPC;
case EXCP_THREAD:
cause = 25;
if (env->error_code == 1 && !(env->CP0_Status & (1 << CP0St_EXL))) {
#if defined(TARGET_MIPSN32) || defined(TARGET_MIPS64)
int R = env->CP0_BadVAddr >> 62;
@ -488,6 +485,9 @@ void do_interrupt (CPUState *env)
#endif
offset = 0x000;
}
goto set_EPC;
case EXCP_THREAD:
cause = 25;
set_EPC:
if (!(env->CP0_Status & (1 << CP0St_EXL))) {
if (env->hflags & MIPS_HFLAG_BMASK) {