diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-12-04 03:58:56 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-12-04 03:58:56 +0000 |
commit | 1d67e90f19a7acfd9a05dc59678e7d0c5090bd0d (patch) | |
tree | 357efc7b93f8f5102110d20d293f41360ec212fc /arch/ppc/kernel/traps.c | |
parent | aea27b2e18d69af87e673972246e66657b4fa274 (diff) |
Merge with Linux 2.3.21.
Diffstat (limited to 'arch/ppc/kernel/traps.c')
-rw-r--r-- | arch/ppc/kernel/traps.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/ppc/kernel/traps.c b/arch/ppc/kernel/traps.c index 70eafd317..76a223157 100644 --- a/arch/ppc/kernel/traps.c +++ b/arch/ppc/kernel/traps.c @@ -89,11 +89,11 @@ MachineCheckException(struct pt_regs *regs) { if ( !user_mode(regs) ) { -#ifdef CONFIG_MBX - /* the mbx pci read routines can cause machine checks -- Cort */ +#if defined(CONFIG_8xx) && defined(CONFIG_PCI) + /* the qspan pci read routines can cause machine checks -- Cort */ bad_page_fault(regs,regs->dar); return; -#endif /* CONFIG_MBX */ +#endif #if defined(CONFIG_XMON) || defined(CONFIG_KGDB) if (debugger_fault_handler) { debugger_fault_handler(regs); @@ -241,10 +241,14 @@ SoftwareEmulation(struct pt_regs *regs) panic("Kernel Mode Software FPU Emulation"); } +#ifdef CONFIG_MATH_EMULATION if ((errcode = do_mathemu(regs))) { +#else + if ((errcode = Soft_emulate_8xx(regs))) { +#endif if (errcode > 0) _exception(SIGFPE, regs); - else if (errcode == -EFAULT; + else if (errcode == -EFAULT) _exception(SIGSEGV, regs); else _exception(SIGILL, regs); |