summaryrefslogtreecommitdiffstats
path: root/arch/ppc/kernel/traps.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-12-04 03:58:56 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-12-04 03:58:56 +0000
commit1d67e90f19a7acfd9a05dc59678e7d0c5090bd0d (patch)
tree357efc7b93f8f5102110d20d293f41360ec212fc /arch/ppc/kernel/traps.c
parentaea27b2e18d69af87e673972246e66657b4fa274 (diff)
Merge with Linux 2.3.21.
Diffstat (limited to 'arch/ppc/kernel/traps.c')
-rw-r--r--arch/ppc/kernel/traps.c12
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);