Ver código fonte

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 anos atrás
pai
commit
24ded62811
1 arquivos alterados com 1 adições e 1 exclusões
  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);