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> 8*7c0f6ba6SLinus Torvalds #include <linux/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