xref: /openbmc/linux/arch/sh/mm/extable_32.c (revision 83ce3ac1)
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 
783ce3ac1SPaul Mundt #include <linux/module.h>
883ce3ac1SPaul Mundt #include <asm/uaccess.h>
983ce3ac1SPaul Mundt 
1083ce3ac1SPaul Mundt int fixup_exception(struct pt_regs *regs)
1183ce3ac1SPaul Mundt {
1283ce3ac1SPaul Mundt 	const struct exception_table_entry *fixup;
1383ce3ac1SPaul Mundt 
1483ce3ac1SPaul Mundt 	fixup = search_exception_tables(regs->pc);
1583ce3ac1SPaul Mundt 	if (fixup) {
1683ce3ac1SPaul Mundt 		regs->pc = fixup->fixup;
1783ce3ac1SPaul Mundt 		return 1;
1883ce3ac1SPaul Mundt 	}
1983ce3ac1SPaul Mundt 
2083ce3ac1SPaul Mundt 	return 0;
2183ce3ac1SPaul Mundt }
22