diff options
author | Ulf Carlsson <md1ulfc@mdstud.chalmers.se> | 2000-07-08 13:57:48 +0000 |
---|---|---|
committer | Ulf Carlsson <md1ulfc@mdstud.chalmers.se> | 2000-07-08 13:57:48 +0000 |
commit | 2d25612a92c62b5708d6d43f38d28c6141173328 (patch) | |
tree | 7541cd2697d70a54b41b65fc9cb9ba3c4d23974e | |
parent | 1fcb7623bc138d780101d7a70cfe29b11f7c67ef (diff) |
We have to enable interrupts *AFTER* we read CP0_BADVADDR.
We should not do ret_from_irq after a page fault.
-rw-r--r-- | arch/mips64/kernel/r4k_tlb_glue.S | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/mips64/kernel/r4k_tlb_glue.S b/arch/mips64/kernel/r4k_tlb_glue.S index 8713172df..a59b97735 100644 --- a/arch/mips64/kernel/r4k_tlb_glue.S +++ b/arch/mips64/kernel/r4k_tlb_glue.S @@ -32,14 +32,15 @@ ld $6, PT_R6(sp) ld $7, PT_R7(sp) ld $2, PT_R2(sp) #endif - __BUILD_\interruptible dmfc0 a2, CP0_BADVADDR li a1, \writebit sd a2, PT_BVADDR(sp) move a0, sp + __BUILD_\interruptible jal do_page_fault - j ret_from_sys_call END(__\name) + RESTORE_ALL + eret .endm tlb_handler xtlb_mod sti 1 |