Forráskód Böngészése

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 3 éve
szülő
commit
24ded62811
1 módosított fájl, 1 hozzáadás és 1 törlés
  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);