blob: 9d25d2ba4b9ea8b0157bea763fa314a6556227f6 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Ralf Baechle49316cbf02009-07-06 09:13:17 +01002 * 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>
Linus Torvalds1da177e2005-04-16 15:20:36 -07007 */
8#include <linux/module.h>
9#include <linux/spinlock.h>
10#include <asm/branch.h>
11#include <asm/uaccess.h>
12
13int 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}