Module Name: src Committed By: mrg Date: Sat Jan 22 10:37:23 UTC 2011
Modified Files: src/sys/arch/sparc/sparc: intr.c Log Message: XXX: in strayintr() don't print about stray zs inters in MP case. To generate a diff of this commit: cvs rdiff -u -r1.108 -r1.109 src/sys/arch/sparc/sparc/intr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/sparc/sparc/intr.c diff -u src/sys/arch/sparc/sparc/intr.c:1.108 src/sys/arch/sparc/sparc/intr.c:1.109 --- src/sys/arch/sparc/sparc/intr.c:1.108 Tue Jan 5 21:38:50 2010 +++ src/sys/arch/sparc/sparc/intr.c Sat Jan 22 10:37:22 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.c,v 1.108 2010/01/05 21:38:50 macallan Exp $ */ +/* $NetBSD: intr.c,v 1.109 2011/01/22 10:37:22 mrg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.108 2010/01/05 21:38:50 macallan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.109 2011/01/22 10:37:22 mrg Exp $"); #include "opt_multiprocessor.h" #include "opt_sparc_arch.h" @@ -133,6 +133,19 @@ char bits[64]; int timesince; +#if defined(MULTIPROCESSOR) + /* + * XXX + * + * Don't whine about zs interrupts on MP. We sometimes get + * stray interrupts when polled kernel output on cpu>0 eats + * the interrupt and cpu0 sees it. + */ +#define ZS_INTR_IPL 12 + if (fp->ipl == ZS_INTR_IPL) + return; +#endif + snprintb(bits, sizeof(bits), PSR_BITS, fp->psr); printf("stray interrupt cpu%d ipl 0x%x pc=0x%x npc=0x%x psr=%s\n", cpu_number(), fp->ipl, fp->pc, fp->npc, bits);