diff options
Diffstat (limited to 'ANDROID_3.4.5/arch/x86/mm/extable.c')
-rw-r--r-- | ANDROID_3.4.5/arch/x86/mm/extable.c | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/ANDROID_3.4.5/arch/x86/mm/extable.c b/ANDROID_3.4.5/arch/x86/mm/extable.c deleted file mode 100644 index 1fb85dbe..00000000 --- a/ANDROID_3.4.5/arch/x86/mm/extable.c +++ /dev/null @@ -1,37 +0,0 @@ -#include <linux/module.h> -#include <linux/spinlock.h> -#include <asm/uaccess.h> - - -int fixup_exception(struct pt_regs *regs) -{ - const struct exception_table_entry *fixup; - -#ifdef CONFIG_PNPBIOS - if (unlikely(SEGMENT_IS_PNP_CODE(regs->cs))) { - extern u32 pnp_bios_fault_eip, pnp_bios_fault_esp; - extern u32 pnp_bios_is_utter_crap; - pnp_bios_is_utter_crap = 1; - printk(KERN_CRIT "PNPBIOS fault.. attempting recovery.\n"); - __asm__ volatile( - "movl %0, %%esp\n\t" - "jmp *%1\n\t" - : : "g" (pnp_bios_fault_esp), "g" (pnp_bios_fault_eip)); - panic("do_trap: can't hit this"); - } -#endif - - fixup = search_exception_tables(regs->ip); - if (fixup) { - /* If fixup is less than 16, it means uaccess error */ - if (fixup->fixup < 16) { - current_thread_info()->uaccess_err = 1; - regs->ip += fixup->fixup; - return 1; - } - regs->ip = fixup->fixup; - return 1; - } - - return 0; -} |