diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-07-02 15:35:03 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-07-02 15:35:03 +0000 |
commit | 0d8aca8c670b3203fa478443969c6a65166aadcc (patch) | |
tree | 7fcd7583dd36695a343afd6048c4fc5112b8aaec | |
parent | 8549850891b3e0714cdb01aecf3e08a746c1b361 (diff) |
TLB reload exception vector (Ralf Baechle)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1481 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | target-mips/helper.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/target-mips/helper.c b/target-mips/helper.c index aa97e8229f..96e3100da7 100644 --- a/target-mips/helper.c +++ b/target-mips/helper.c @@ -417,6 +417,9 @@ void do_interrupt (CPUState *env) goto set_EPC; case EXCP_TLBS: cause = 3; + if (env->error_code == 1 && !(env->hflags & MIPS_HFLAG_EXL)) + offset = 0x000; + goto set_EPC; set_EPC: if (env->CP0_Status & (1 << CP0St_BEV)) { pc = 0xBFC00200; |