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
6 * Copyright (C) 1999 Ralf Baechle
7 * Copyright (C) 1999 Silicon Graphics, Inc.
9 #include <linux/init.h>
10 #include <asm/mipsregs.h>
12 #include <asm/regdef.h>
13 #include <asm/stackframe.h>
28 .macro tlb_handler name interruptible writebit
29 NESTED(__\name, PT_SIZE, sp)
31 dmfc0 a2, CP0_BADVADDR
32 __BUILD_\interruptible
41 .macro tlb_handler_m3 name interruptible writebit
42 NESTED(__\name, PT_SIZE, sp)
43 dmfc0 k0, CP0_BADVADDR
46 dsrl k0, k0, PAGE_SHIFT + 1
49 dmfc0 a2, CP0_BADVADDR
50 __BUILD_\interruptible
60 tlb_handler xtlb_mod kmode 1
62 tlb_handler_m3 xtlb_tlbl kmode 0
64 tlb_handler xtlb_tlbl kmode 0
66 tlb_handler xtlb_tlbs kmode 1