summaryrefslogtreecommitdiff
path: root/arch/sh/mm/extable_32.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-11-11 11:24:50 +0300
committerPaul Mundt <lethal@linux-sh.org>2008-01-28 07:18:44 +0300
commit83ce3ac1d13f9a3ae83485a5e5a1cb85faf865ff (patch)
tree0c96e81a5a8019451b9f3036fc691a50d9ae8c78 /arch/sh/mm/extable_32.c
parent8a7bcf0dd0d49fe8b0071adef0dfe8610abdffaa (diff)
downloadlinux-83ce3ac1d13f9a3ae83485a5e5a1cb85faf865ff.tar.xz
sh: Split out extable.c _32 and _64 variants.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/mm/extable_32.c')
-rw-r--r--arch/sh/mm/extable_32.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/sh/mm/extable_32.c b/arch/sh/mm/extable_32.c
new file mode 100644
index 000000000000..c1cf4463d09d
--- /dev/null
+++ b/arch/sh/mm/extable_32.c
@@ -0,0 +1,21 @@
+/*
+ * linux/arch/sh/mm/extable.c
+ * Taken from:
+ * linux/arch/i386/mm/extable.c
+ */
+
+#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(regs->pc);
+ if (fixup) {
+ regs->pc = fixup->fixup;
+ return 1;
+ }
+
+ return 0;
+}