xref: /openbmc/linux/arch/sh/mm/extable_32.c (revision f780d89a)
183ce3ac1SPaul Mundt /*
283ce3ac1SPaul Mundt  * linux/arch/sh/mm/extable.c
383ce3ac1SPaul Mundt  *  Taken from:
483ce3ac1SPaul Mundt  *   linux/arch/i386/mm/extable.c
583ce3ac1SPaul Mundt  */
683ce3ac1SPaul Mundt 
7d92280d1SPaul Gortmaker #include <linux/extable.h>
87c0f6ba6SLinus Torvalds #include <linux/uaccess.h>
983ce3ac1SPaul Mundt 
10f780d89aSIngo Molnar #include <asm/ptrace.h>
11f780d89aSIngo Molnar 
1283ce3ac1SPaul Mundt int fixup_exception(struct pt_regs *regs)
1383ce3ac1SPaul Mundt {
1483ce3ac1SPaul Mundt 	const struct exception_table_entry *fixup;
1583ce3ac1SPaul Mundt 
1683ce3ac1SPaul Mundt 	fixup = search_exception_tables(regs->pc);
1783ce3ac1SPaul Mundt 	if (fixup) {
1883ce3ac1SPaul Mundt 		regs->pc = fixup->fixup;
1983ce3ac1SPaul Mundt 		return 1;
2083ce3ac1SPaul Mundt 	}
2183ce3ac1SPaul Mundt 
2283ce3ac1SPaul Mundt 	return 0;
2383ce3ac1SPaul Mundt }
24