11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 21cc1265e9a8579be0029cd675ec22a6151893e04Hirokazu Takata * linux/arch/m32r/mm/extable.c 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/module.h> 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <asm/uaccess.h> 71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsint fixup_exception(struct pt_regs *regs) 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{ 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds const struct exception_table_entry *fixup; 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds fixup = search_exception_tables(regs->bpc); 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds if (fixup) { 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds regs->bpc = fixup->fixup; 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds return 1; 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds } 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds return 0; 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} 20