Don't invoke MachFPInterrupt() if we're using SOFTFLOAT.

This commit is contained in:
gmcgarry 2002-07-07 00:22:18 +00:00
parent cc4037a913
commit 4b0692e70a
4 changed files with 13 additions and 10 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: arc_trap.c,v 1.20 2001/06/13 15:08:05 soda Exp $ */
/* $NetBSD: arc_trap.c,v 1.21 2002/07/07 00:22:18 gmcgarry Exp $ */
/* $OpenBSD: trap.c,v 1.22 1999/05/24 23:08:59 jason Exp $ */
/*
@ -155,7 +155,9 @@ cpu_intr(status, cause, pc, ipending)
if (!USERMODE(status))
panic("kernel used FPU: PC %x, CR %x, SR %x",
pc, cause, status);
#if !defined(SOFTFLOAT)
MachFPInterrupt(status, cause, pc, curproc->p_md.md_regs);
#endif
}
#endif

View File

@ -1,4 +1,4 @@
/* $NetBSD: mips_3x30.c,v 1.5 2001/03/30 23:51:14 wdk Exp $ */
/* $NetBSD: mips_3x30.c,v 1.6 2002/07/07 00:22:19 gmcgarry Exp $ */
/*
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@ -122,7 +122,9 @@ pizazz_intr(status, cause, pc, ipending)
if (!USERMODE(status))
panic("kernel used FPU: PC %x, CR %x, SR %x",
pc, cause, status);
#if !defined(SOFTFLOAT)
MachFPInterrupt(status, cause, pc, curproc->p_md.md_regs);
#endif
}
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: news3400.c,v 1.4 2000/12/03 01:42:30 matt Exp $ */
/* $NetBSD: news3400.c,v 1.5 2002/07/07 00:22:19 gmcgarry Exp $ */
/*-
* Copyright (C) 1999 Tsubai Masanari. All rights reserved.
@ -120,8 +120,9 @@ news3400_intr(status, cause, pc, ipending)
pc, cause, status);
intrcnt[FPU_INTR]++;
/* dealfpu(status, cause, pc); */
#if !defined(SOFTFLOAT)
MachFPInterrupt(status, cause, pc, curproc->p_md.md_regs);
#endif
}
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: interrupt.c,v 1.3 2001/09/28 11:59:52 chs Exp $ */
/* $NetBSD: interrupt.c,v 1.4 2002/07/07 00:22:19 gmcgarry Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@ -65,11 +65,7 @@ struct evcnt pmax_fpu_evcnt =
struct evcnt pmax_memerr_evcnt =
EVCNT_INITIALIZER(EVCNT_TYPE_INTR, NULL, "memerr", "intr");
/* XXX XXX XXX */
extern void MachFPInterrupt(unsigned, unsigned, unsigned, struct frame *);
#define dealfpu(sr,cr,pc) \
MachFPInterrupt((sr), (cr), (pc), curproc->p_md.md_regs)
/* XXX XXX XXX */
/*
* pmax uses standard mips1 convention, wiring FPU to hard interupt 5.
@ -98,7 +94,9 @@ cpu_intr(status, cause, pc, ipending)
if (!USERMODE(status))
goto kerneltouchedFPU;
pmax_fpu_evcnt.ev_count++;
dealfpu(status, cause, pc);
#if !defined(SOFTFLOAT)
MachFPInterrupt(status, cause, pc, curproc->p_md.md_regs);
#endif
}
ipending &= (MIPS_SOFT_INT_MASK_1|MIPS_SOFT_INT_MASK_0);