summaryrefslogtreecommitdiffstats
path: root/sys/amd64/amd64/vm_machdep.c
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>1998-03-14 03:02:15 +0000
committertegge <tegge@FreeBSD.org>1998-03-14 03:02:15 +0000
commit96bdd3ac5e10d5a7465fb4bf3ffb8351bbd527e9 (patch)
tree615dbec655dc12e66672932eb9db85a65e8c1390 /sys/amd64/amd64/vm_machdep.c
parentfca0f926304dc460738db155c1313999fbf0545e (diff)
downloadFreeBSD-src-96bdd3ac5e10d5a7465fb4bf3ffb8351bbd527e9.zip
FreeBSD-src-96bdd3ac5e10d5a7465fb4bf3ffb8351bbd527e9.tar.gz
Don't use the standard macros for disabling/enabling interrupt.
On SMP systems, this left the mpintr_lock simplelock locked, causing further calls to disable_intr to deadlock or panic.
Diffstat (limited to 'sys/amd64/amd64/vm_machdep.c')
-rw-r--r--sys/amd64/amd64/vm_machdep.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c
index 4c0533d..56e9d2f 100644
--- a/sys/amd64/amd64/vm_machdep.c
+++ b/sys/amd64/amd64/vm_machdep.c
@@ -38,7 +38,7 @@
*
* from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91
* Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$
- * $Id: vm_machdep.c,v 1.101 1998/02/25 03:56:09 dyson Exp $
+ * $Id: vm_machdep.c,v 1.102 1998/03/12 09:55:57 bde Exp $
*/
#include "npx.h"
@@ -949,7 +949,7 @@ vm_page_zero_idle()
if (try_mplock()) {
#endif
s = splvm();
- enable_intr();
+ __asm __volatile("sti" : : : "memory");
m = vm_page_list_find(PQ_FREE, free_rover);
if (m != NULL) {
--(*vm_page_queues[m->queue].lcnt);
@@ -973,7 +973,7 @@ vm_page_zero_idle()
++cnt_prezero;
}
splx(s);
- disable_intr();
+ __asm __volatile("cli" : : : "memory");
#ifdef SMP
rel_mplock();
#endif
OpenPOWER on IntegriCloud