aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/sys-x86_64/fault.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/sys-x86_64/fault.c')
-rw-r--r--arch/um/sys-x86_64/fault.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/um/sys-x86_64/fault.c b/arch/um/sys-x86_64/fault.c
new file mode 100644
index 00000000000..ce85117fc64
--- /dev/null
+++ b/arch/um/sys-x86_64/fault.c
@@ -0,0 +1,28 @@
1/*
2 * Copyright 2003 PathScale, Inc.
3 *
4 * Licensed under the GPL
5 */
6
7#include "sysdep/ptrace.h"
8
9/* These two are from asm-um/uaccess.h and linux/module.h, check them. */
10struct exception_table_entry
11{
12 unsigned long insn;
13 unsigned long fixup;
14};
15
16const struct exception_table_entry *search_exception_tables(unsigned long add);
17
18int arch_fixup(unsigned long address, struct uml_pt_regs *regs)
19{
20 const struct exception_table_entry *fixup;
21
22 fixup = search_exception_tables(address);
23 if (fixup != 0) {
24 UPT_IP(regs) = fixup->fixup;
25 return 1;
26 }
27 return 0;
28}