| /* | 
 |  *  linux/arch/arm26/mm/extable.c | 
 |  */ | 
 |  | 
 | #include <linux/config.h> | 
 | #include <linux/module.h> | 
 | #include <asm/uaccess.h> | 
 |  | 
 | int fixup_exception(struct pt_regs *regs) | 
 | { | 
 |         const struct exception_table_entry *fixup; | 
 |  | 
 |         fixup = search_exception_tables(instruction_pointer(regs)); | 
 |  | 
 | 	/* | 
 | 	 * The kernel runs in SVC mode - make sure we keep running in SVC mode | 
 | 	 * by frobbing the PSR appropriately (PSR and PC are in the same reg. | 
 | 	 * on ARM26) | 
 | 	 */ | 
 |         if (fixup) | 
 |                 regs->ARM_pc = fixup->fixup | PSR_I_BIT | MODE_SVC26; | 
 |  | 
 |         return fixup != NULL; | 
 | } | 
 |  |