summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2013-04-18 18:30:42 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2013-04-18 18:30:42 +0000
commit58031f6514c28da137437e017ecfed39d1a36b43 (patch)
treea93e2ba1f090ece28a66923e70f037c079785869 /sys
parent5d1cce4c16106b14725d92d29d5117a8a7031fad (diff)
pin the acpi thread to the BSP, because AML and SMI cannot be trusted. I
was certain we were doing this already, but it turns out no...
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/acpi/acpi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/acpi/acpi.c b/sys/dev/acpi/acpi.c
index 0690a46cb8b..603122a5f7e 100644
--- a/sys/dev/acpi/acpi.c
+++ b/sys/dev/acpi/acpi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: acpi.c,v 1.242 2012/12/24 19:41:14 guenther Exp $ */
+/* $OpenBSD: acpi.c,v 1.243 2013/04/18 18:30:41 deraadt Exp $ */
/*
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
* Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org>
@@ -2151,6 +2151,9 @@ acpi_thread(void *arg)
extern int aml_busy;
int s;
+ /* AML/SMI cannot be trusted -- only run on the BSP */
+ sched_peg_curproc(&cpu_info_primary);
+
rw_enter_write(&sc->sc_lck);
/*