Page MenuHomeFreeBSD

D29511.diff
No OneTemporary

D29511.diff

diff --git a/sys/powerpc/aim/mmu_radix.c b/sys/powerpc/aim/mmu_radix.c
--- a/sys/powerpc/aim/mmu_radix.c
+++ b/sys/powerpc/aim/mmu_radix.c
@@ -3184,6 +3184,7 @@
* a reserved PT page could be freed.
*/
(void)pmap_remove_l3e(pmap, l3e, va, &free, lockp);
+ pmap_invalidate_l3e_page(pmap, va, oldl3e);
} else {
if (pmap_remove_ptes(pmap, va, va + L3_PAGE_SIZE, l3e,
&free, lockp))
@@ -3242,6 +3243,7 @@
* be any lingering 4KB page mappings in the TLB.)
*/
pte_store(l3e, newpde);
+ ptesync();
atomic_add_long(&pmap_l3e_mappings, 1);
CTR2(KTR_PMAP, "pmap_enter_pde: success for va %#lx"
@@ -4943,7 +4945,7 @@
* the read above and the store below.
*/
pde_store(l3e, mptepa);
- ptesync();
+ pmap_invalidate_l3e_page(pmap, trunc_2mpage(va), oldpde);
/*
* Demote the PV entry.
*/
@@ -5224,6 +5226,7 @@
*/
if (sva + L3_PAGE_SIZE == va_next && eva >= va_next) {
pmap_remove_l3e(pmap, l3e, sva, &free, &lock);
+ anyvalid = true;
continue;
} else if (!pmap_demote_l3e_locked(pmap, l3e, sva,
&lock)) {

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 18, 2:42 PM (18 h, 12 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15851473
Default Alt Text
D29511.diff (1 KB)

Event Timeline