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:
parent
d951f6ff3f
commit
6276c76758
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user