Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/arch/sgimips/sgimips/cpu.c,v rcsdiff: /ftp/cvs/cvsroot/src/sys/arch/sgimips/sgimips/cpu.c,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.20 retrieving revision 1.20.24.1 diff -u -p -r1.20 -r1.20.24.1 --- src/sys/arch/sgimips/sgimips/cpu.c 2006/12/28 16:15:11 1.20 +++ src/sys/arch/sgimips/sgimips/cpu.c 2008/01/09 01:48:44 1.20.24.1 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.c,v 1.20 2006/12/28 16:15:11 rumble Exp $ */ +/* $NetBSD: cpu.c,v 1.20.24.1 2008/01/09 01:48:44 matt Exp $ */ /* * Copyright (c) 2000 Soren S. Jorvang @@ -35,14 +35,15 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.20 2006/12/28 16:15:11 rumble Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.20.24.1 2008/01/09 01:48:44 matt Exp $"); #include #include #include +#include + #include -#include #include #include #include @@ -104,6 +105,10 @@ cpu_attach(struct device *parent, struct void cpu_intr(u_int32_t status, u_int32_t cause, u_int32_t pc, u_int32_t ipending) { + struct cpu_info *ci; + + ci = curcpu(); + ci->ci_idepth++; uvmexp.intrs++; (void)(*platform.watchdog_reset)(); @@ -148,15 +153,16 @@ cpu_intr(u_int32_t status, u_int32_t cau if (cause & status & MIPS_HARD_INT_MASK) mips_spurint_evcnt.ev_count++; } + ci->ci_idepth--; +#ifdef __HAVE_FAST_SOFTINTS /* software interrupt */ ipending &= (MIPS_SOFT_INT_MASK_1|MIPS_SOFT_INT_MASK_0); if (ipending == 0) return; - _clrsoftintr(ipending); - softintr_dispatch(ipending); +#endif } void *