diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2007-10-11 05:13:52 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2007-10-11 05:13:52 -0400 |
commit | 94577c112487d68db4f258bd19cfc7100480d0cc (patch) | |
tree | 4398c7f9538eed42944c9dce25cc833f0d4b6646 /arch/i386/mm/extable.c | |
parent | 7099ec6e17b3d207f1c622cff023209acc6ba47a (diff) |
i386: prepare shared mm/extable.c
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/i386/mm/extable.c')
-rw-r--r-- | arch/i386/mm/extable.c | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/arch/i386/mm/extable.c b/arch/i386/mm/extable.c deleted file mode 100644 index 0ce4f22a2635..000000000000 --- a/arch/i386/mm/extable.c +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/i386/mm/extable.c | ||
3 | */ | ||
4 | |||
5 | #include <linux/module.h> | ||
6 | #include <linux/spinlock.h> | ||
7 | #include <asm/uaccess.h> | ||
8 | |||
9 | int fixup_exception(struct pt_regs *regs) | ||
10 | { | ||
11 | const struct exception_table_entry *fixup; | ||
12 | |||
13 | #ifdef CONFIG_PNPBIOS | ||
14 | if (unlikely(SEGMENT_IS_PNP_CODE(regs->xcs))) | ||
15 | { | ||
16 | extern u32 pnp_bios_fault_eip, pnp_bios_fault_esp; | ||
17 | extern u32 pnp_bios_is_utter_crap; | ||
18 | pnp_bios_is_utter_crap = 1; | ||
19 | printk(KERN_CRIT "PNPBIOS fault.. attempting recovery.\n"); | ||
20 | __asm__ volatile( | ||
21 | "movl %0, %%esp\n\t" | ||
22 | "jmp *%1\n\t" | ||
23 | : : "g" (pnp_bios_fault_esp), "g" (pnp_bios_fault_eip)); | ||
24 | panic("do_trap: can't hit this"); | ||
25 | } | ||
26 | #endif | ||
27 | |||
28 | fixup = search_exception_tables(regs->eip); | ||
29 | if (fixup) { | ||
30 | regs->eip = fixup->fixup; | ||
31 | return 1; | ||
32 | } | ||
33 | |||
34 | return 0; | ||
35 | } | ||