Linux 2.6.13-rc4
[linux-2.6/next.git] / arch / mips / mm / tlbex-fault.S
blob9e7f4175b4933504c2f8b2fc9586b7b073b19f68
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 1999 Ralf Baechle
7  * Copyright (C) 1999 Silicon Graphics, Inc.
8  */
9 #include <asm/mipsregs.h>
10 #include <asm/page.h>
11 #include <asm/regdef.h>
12 #include <asm/stackframe.h>
14         .macro tlb_do_page_fault, write
15         NESTED(tlb_do_page_fault_\write, PT_SIZE, sp)
16         SAVE_ALL
17         MFC0    a2, CP0_BADVADDR
18         KMODE
19         move    a0, sp
20         REG_S   a2, PT_BVADDR(sp)
21         li      a1, \write
22         jal     do_page_fault
23         j       ret_from_exception
24         END(tlb_do_page_fault_\write)
25         .endm
27         tlb_do_page_fault 0
28         tlb_do_page_fault 1