Don't invoke MachFPInterrupt() if we're using SOFTFLOAT.
This commit is contained in:
parent
cc4037a913
commit
4b0692e70a
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue