xref: /openbmc/linux/arch/mips/mm/tlbex-fault.S (revision e285d5bf)
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/regdef.h>
11#include <asm/stackframe.h>
12
13	.macro tlb_do_page_fault, write
14	NESTED(tlb_do_page_fault_\write, PT_SIZE, sp)
15	.cfi_signal_frame
16	SAVE_ALL docfi=1
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
26
27	tlb_do_page_fault 0
28	tlb_do_page_fault 1
29