Linux 2.6.31-rc6
[linux-2.6] / arch / mips / mm / extable.c
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) 1997, 99, 2001 - 2004 Ralf Baechle <ralf@linux-mips.org>
7  */
8 #include <linux/module.h>
9 #include <linux/spinlock.h>
10 #include <asm/branch.h>
11 #include <asm/uaccess.h>
12
13 int fixup_exception(struct pt_regs *regs)
14 {
15         const struct exception_table_entry *fixup;
16
17         fixup = search_exception_tables(exception_epc(regs));
18         if (fixup) {
19                 regs->cp0_epc = fixup->nextinsn;
20
21                 return 1;
22         }
23
24         return 0;
25 }