Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6] / arch / um / sys-x86_64 / fault.c
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. */
10 struct exception_table_entry
11 {
12         unsigned long insn;
13         unsigned long fixup;
14 };
15
16 const struct exception_table_entry *search_exception_tables(unsigned long add);
17
18 int 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 }