pc64: implement checkmmu() debug function

This commit is contained in:
cinap_lenrek 2014-06-07 09:26:57 +02:00
parent 2e713acc2c
commit 7bc8f4d993

View file

@ -438,10 +438,19 @@ putmmu(uintptr va, uintptr pa, Page *)
invlpg(va);
}
/*
* Double-check the user MMU.
* Error checking only.
*/
void
checkmmu(uintptr va, uintptr pa)
{
USED(va, pa);
uintptr *pte;
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);
}
uintptr