1*83ce3ac1SPaul Mundt /* 2*83ce3ac1SPaul Mundt * linux/arch/sh/mm/extable.c 3*83ce3ac1SPaul Mundt * Taken from: 4*83ce3ac1SPaul Mundt * linux/arch/i386/mm/extable.c 5*83ce3ac1SPaul Mundt */ 6*83ce3ac1SPaul Mundt 7*83ce3ac1SPaul Mundt #include <linux/module.h> 8*83ce3ac1SPaul Mundt #include <asm/uaccess.h> 9*83ce3ac1SPaul Mundt 10*83ce3ac1SPaul Mundt int fixup_exception(struct pt_regs *regs) 11*83ce3ac1SPaul Mundt { 12*83ce3ac1SPaul Mundt const struct exception_table_entry *fixup; 13*83ce3ac1SPaul Mundt 14*83ce3ac1SPaul Mundt fixup = search_exception_tables(regs->pc); 15*83ce3ac1SPaul Mundt if (fixup) { 16*83ce3ac1SPaul Mundt regs->pc = fixup->fixup; 17*83ce3ac1SPaul Mundt return 1; 18*83ce3ac1SPaul Mundt } 19*83ce3ac1SPaul Mundt 20*83ce3ac1SPaul Mundt return 0; 21*83ce3ac1SPaul Mundt } 22