git: 9front

Download patch

ref: c6bebf7c205ba755d8364e48a60a21f4421f54cf
parent: c0847c697a98fb1eefb8759b5da0af28bb8d1abb
parent: b905b9d4c212308ba108e9821239957542d9e870
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Jun 7 05:28:33 EDT 2014

merge

--- a/sys/src/9/pc64/mmu.c
+++ b/sys/src/9/pc64/mmu.c
@@ -438,10 +438,19 @@
 		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
--