summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2009-08-10 17:04:40 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2009-08-10 17:04:40 +0000
commit2cd383288d2a6556fe0d26922bff9bdcca15b396 (patch)
tree163fa28bb11a00ee368bbf10b98896767ba25d4b /sys
parent7120db3a51ce92d8b639eabe95a01b8003d7193c (diff)
use splhigh instead of splclock to block in the i386_ipi
fixes stability problems on some machines; ie. crashes in in cpu_idle_cycle from netbsd, via dhill
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/amd64/amd64/lapic.c4
-rw-r--r--sys/arch/i386/i386/lapic.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/arch/amd64/amd64/lapic.c b/sys/arch/amd64/amd64/lapic.c
index ba7eaea02d9..c1fab756130 100644
--- a/sys/arch/amd64/amd64/lapic.c
+++ b/sys/arch/amd64/amd64/lapic.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: lapic.c,v 1.21 2009/06/09 02:56:38 krw Exp $ */
+/* $OpenBSD: lapic.c,v 1.22 2009/08/10 17:04:37 deraadt Exp $ */
/* $NetBSD: lapic.c,v 1.2 2003/05/08 01:04:35 fvdl Exp $ */
/*-
@@ -481,7 +481,7 @@ x86_ipi(int vec, int target, int dl)
{
int result, s;
- s = splclock();
+ s = splhigh();
i82489_icr_wait();
diff --git a/sys/arch/i386/i386/lapic.c b/sys/arch/i386/i386/lapic.c
index 426971751f3..77f682212ea 100644
--- a/sys/arch/i386/i386/lapic.c
+++ b/sys/arch/i386/i386/lapic.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: lapic.c,v 1.25 2009/06/03 00:49:12 art Exp $ */
+/* $OpenBSD: lapic.c,v 1.26 2009/08/10 17:04:39 deraadt Exp $ */
/* $NetBSD: lapic.c,v 1.1.2.8 2000/02/23 06:10:50 sommerfeld Exp $ */
/*-
@@ -448,7 +448,7 @@ i386_ipi(int vec, int target, int dl)
{
int result, s;
- s = splclock();
+ s = splhigh();
i82489_icr_wait();