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. */ 9struct exception_table_entry 10{ 11 unsigned long insn; 12 unsigned long fixup; 13}; 14 15const struct exception_table_entry *search_exception_tables(unsigned long add); 16 17/* Compare this to arch/i386/mm/extable.c:fixup_exception() */ 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) { 24 UPT_IP(regs) = fixup->fixup; 25 return 1; 26 } 27 return 0; 28} 29