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/extable.h>
9 #include <linux/spinlock.h>
10 #include <asm/branch.h>
11 #include <linux/uaccess.h>
12 
fixup_exception(struct pt_regs * regs)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 }
26