Parcourir la source

Fix mapping error

As we map each page of the address space, the amount
of address space we need to map decreases by the page
size we just mapped.

Signed-off-by: Dan Cross <cross@gajendra.net>
Dan Cross il y a 3 ans
Parent
commit
24ded62811
1 fichiers modifiés avec 1 ajouts et 1 suppressions
  1. 1 1
      sys/src/9/amd64/mmu.c

+ 1 - 1
sys/src/9/amd64/mmu.c

@@ -547,7 +547,7 @@ mmukphysmap(PTE *pml4, u64 pa, PTE attr, usize size)
 		panic("mapping nonexistent physical address");
 
 	pl = splhi();
-	for(usize pae = pa + size; pa < pae; pa += pgsz){
+	for(u64 pae = pa + size; pa < pae; size -= pgsz, pa += pgsz){
 		uintptr va = (uintptr)KADDR(pa);
 		invlpg(va);