ref: edbdcd1ff32253f5ab64bc840dadaab534ff3196
parent: c0bb334ab6e553f9a1ede3a022de93ad2dc2a4dd
parent: 38f8f5815b5001a2355ae93430f91253f1d39a00
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Wed Jul 15 23:12:31 EDT 2020
merge
--- a/sys/src/9/pc64/mmu.c
+++ b/sys/src/9/pc64/mmu.c
@@ -517,12 +517,17 @@
void
checkmmu(uintptr va, uintptr pa)
{- uintptr *pte;
+ uintptr *pte, old;
+ int x;
+ x = splhi();
pte = mmuwalk(m->pml4, va, 0, 0);
- if(pte != 0 && (*pte & PTEVALID) != 0 && PPN(*pte) != pa)
- print("%ld %s: va=%#p pa=%#p pte=%#p\n",- up->pid, up->text, va, pa, *pte);
+ if(pte == 0 || ((old = *pte) & PTEVALID) == 0 || PPN(old) == pa){+ splx(x);
+ return;
+ }
+ splx(x);
+ print("%ld %s: va=%#p pa=%#p pte=%#p\n", up->pid, up->text, va, pa, old);}
uintptr
--
⑨