summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2002-07-13 20:58:56 +0000
committerpeter <peter@FreeBSD.org>2002-07-13 20:58:56 +0000
commit33ec32bcbff69e584ebb8946f6905aab86f10bed (patch)
treed65cc67d278614f4288d691b1307aef602f91144
parent995438bbe58ef8b7b5c8e843376821a0eb84672e (diff)
downloadFreeBSD-src-33ec32bcbff69e584ebb8946f6905aab86f10bed.zip
FreeBSD-src-33ec32bcbff69e584ebb8946f6905aab86f10bed.tar.gz
Do global shootdowns when switching to/from 4MB pages. I believe we can
do a shootdown on a 4MB "page" though, but this should be safer for now. Noticed by: tegge
-rw-r--r--sys/amd64/amd64/pmap.c4
-rw-r--r--sys/i386/i386/pmap.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index 03e3aa4..2d00a12 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -1389,7 +1389,7 @@ pmap_allocpte(pmap_t pmap, vm_offset_t va)
if (ptepa & PG_PS) {
pmap->pm_pdir[ptepindex] = 0;
ptepa = 0;
- invltlb();
+ pmap_invalidate_all(kernel_pmap);
}
/*
@@ -2352,7 +2352,7 @@ retry:
ptepindex += 1;
}
vm_page_flag_set(p, PG_MAPPED);
- invltlb();
+ pmap_invalidate_all(kernel_pmap);
return;
}
diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c
index 03e3aa4..2d00a12 100644
--- a/sys/i386/i386/pmap.c
+++ b/sys/i386/i386/pmap.c
@@ -1389,7 +1389,7 @@ pmap_allocpte(pmap_t pmap, vm_offset_t va)
if (ptepa & PG_PS) {
pmap->pm_pdir[ptepindex] = 0;
ptepa = 0;
- invltlb();
+ pmap_invalidate_all(kernel_pmap);
}
/*
@@ -2352,7 +2352,7 @@ retry:
ptepindex += 1;
}
vm_page_flag_set(p, PG_MAPPED);
- invltlb();
+ pmap_invalidate_all(kernel_pmap);
return;
}
OpenPOWER on IntegriCloud