Line data Source code
1 : /* 2 : * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) 3 : * Licensed under the GPL 4 : */ 5 : 6 : #include <sysdep/ptrace.h> 7 : 8 : /* These two are from asm-um/uaccess.h and linux/module.h, check them. */ 9 : struct exception_table_entry 10 : { 11 : unsigned long insn; 12 : unsigned long fixup; 13 : }; 14 : 15 : const struct exception_table_entry *search_exception_tables(unsigned long add); 16 : 17 : /* Compare this to arch/i386/mm/extable.c:fixup_exception() */ 18 0 : int arch_fixup(unsigned long address, struct uml_pt_regs *regs) 19 : { 20 : const struct exception_table_entry *fixup; 21 : 22 0 : fixup = search_exception_tables(address); 23 0 : if (fixup) { 24 0 : UPT_IP(regs) = fixup->fixup; 25 0 : return 1; 26 : } 27 : return 0; 28 : }