summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/9/pc/mmu.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/sys/src/9/pc/mmu.c b/sys/src/9/pc/mmu.c
index 06b195fca..823c9a6d8 100644
--- a/sys/src/9/pc/mmu.c
+++ b/sys/src/9/pc/mmu.c
@@ -739,16 +739,13 @@ pdbunmap(ulong *pdb, ulong va, int size)
vae = va+size;
while(va < vae){
table = &pdb[PDX(va)];
- if(!(*table & PTEVALID)){
+ if(!(*table & PTEVALID))
panic("vunmap: not mapped");
- /*
- va = (va+4*MB-1) & ~(4*MB-1);
- continue;
- */
- }
if(*table & PTESIZE){
+ if(va & 4*MB-1)
+ panic("vunmap: misaligned: %#p\n", va);
*table = 0;
- va = (va+4*MB-1) & ~(4*MB-1);
+ va += 4*MB;
continue;
}
table = KADDR(PPN(*table));