aboutsummaryrefslogtreecommitdiff
path: root/i386
diff options
context:
space:
mode:
Diffstat (limited to 'i386')
-rw-r--r--i386/i386/lock.h1
-rw-r--r--i386/intel/pmap.c6
2 files changed, 4 insertions, 3 deletions
diff --git a/i386/i386/lock.h b/i386/i386/lock.h
index 4b445ae4..b189a559 100644
--- a/i386/i386/lock.h
+++ b/i386/i386/lock.h
@@ -30,6 +30,7 @@
#define _I386_LOCK_H_
#if NCPUS > 1
+#include <i386/smp.h>
/*
* All of the locking routines are built from calls on
diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c
index 3b52deb3..3605d120 100644
--- a/i386/intel/pmap.c
+++ b/i386/intel/pmap.c
@@ -3093,9 +3093,9 @@ void pmap_update_interrupt(void)
* Wait for any pmap updates in progress, on either user
* or kernel pmap.
*/
- while (*(volatile int *)&my_pmap->lock.lock_data ||
- *(volatile int *)&kernel_pmap->lock.lock_data)
- continue;
+ while (my_pmap->lock.lock_data ||
+ kernel_pmap->lock.lock_data)
+ cpu_pause();
process_pmap_updates(my_pmap);