aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/mm/extable.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2007-10-11 05:13:52 -0400
committerThomas Gleixner <tglx@linutronix.de>2007-10-11 05:13:52 -0400
commit94577c112487d68db4f258bd19cfc7100480d0cc (patch)
tree4398c7f9538eed42944c9dce25cc833f0d4b6646 /arch/i386/mm/extable.c
parent7099ec6e17b3d207f1c622cff023209acc6ba47a (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.c35
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
9int 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}