summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/amd64/pmap.c13
-rw-r--r--sys/i386/i386/pmap.c13
2 files changed, 20 insertions, 6 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index fdbade3..881a2cc 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -700,8 +700,11 @@ pmap_kenter(vm_offset_t va, vm_offset_t pa)
pte = vtopte(va);
opte = *pte;
*pte = npte;
- /*if (opte)*/
- invltlb_1pg(va); /* XXX what about SMP? */
+#ifdef SMP
+ invlpg(va);
+#else
+ invltlb_1pg(va);
+#endif
}
/*
@@ -714,7 +717,11 @@ pmap_kremove(vm_offset_t va)
pte = vtopte(va);
*pte = 0;
- invltlb_1pg(va); /* XXX what about SMP? */
+#ifdef SMP
+ invlpg(va);
+#else
+ invltlb_1pg(va);
+#endif
}
/*
diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c
index fdbade3..881a2cc 100644
--- a/sys/i386/i386/pmap.c
+++ b/sys/i386/i386/pmap.c
@@ -700,8 +700,11 @@ pmap_kenter(vm_offset_t va, vm_offset_t pa)
pte = vtopte(va);
opte = *pte;
*pte = npte;
- /*if (opte)*/
- invltlb_1pg(va); /* XXX what about SMP? */
+#ifdef SMP
+ invlpg(va);
+#else
+ invltlb_1pg(va);
+#endif
}
/*
@@ -714,7 +717,11 @@ pmap_kremove(vm_offset_t va)
pte = vtopte(va);
*pte = 0;
- invltlb_1pg(va); /* XXX what about SMP? */
+#ifdef SMP
+ invlpg(va);
+#else
+ invltlb_1pg(va);
+#endif
}
/*
OpenPOWER on IntegriCloud