diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2008-07-21 10:07:15 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2008-07-21 10:07:15 +0000 |
commit | 2a104c95a23b111054dd1e591ee635e9f2d22db4 (patch) | |
tree | 04dded320472b13e1960096dc05fc545658d8a4c /sys/arch | |
parent | aa8989bd4fe7fb450d4fedadd3d4cf0394b7f312 (diff) |
IPL_NONE doesn't really exist. The corresponding bit in the
per-processor soft interrupt register is used for hardware clock-tick
counter interrupts. So make smp_signotify() use IPL_SOFTINT instead
such that we don't unintentionally trigger a spurious clock interrupt.
This seems to fix the timekeeping anomalies on the t1k.
tested by art@
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/sparc64/sparc64/ipifuncs.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/arch/sparc64/sparc64/ipifuncs.c b/sys/arch/sparc64/sparc64/ipifuncs.c index 90255dbe8b3..becf4316b7b 100644 --- a/sys/arch/sparc64/sparc64/ipifuncs.c +++ b/sys/arch/sparc64/sparc64/ipifuncs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ipifuncs.c,v 1.10 2008/06/26 05:42:13 ray Exp $ */ +/* $OpenBSD: ipifuncs.c,v 1.11 2008/07/21 10:07:14 kettenis Exp $ */ /* $NetBSD: ipifuncs.c,v 1.8 2006/10/07 18:11:36 rjs Exp $ */ /*- @@ -241,7 +241,7 @@ smp_signotify(struct proc *p) return; if (CPU_ISSUN4V) - sun4v_send_ipi(ci->ci_itid, ipi_softint, 1 << IPL_NONE, 0UL); + sun4v_send_ipi(ci->ci_itid, ipi_softint, 1 << IPL_SOFTINT, 0); else - sun4u_send_ipi(ci->ci_itid, ipi_softint, 1 << IPL_NONE, 0UL); + sun4u_send_ipi(ci->ci_itid, ipi_softint, 1 << IPL_SOFTINT, 0); } |