summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/vm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/vm.c b/kernel/vm.c
index b47f111..d5a12a0 100644
--- a/kernel/vm.c
+++ b/kernel/vm.c
@@ -140,13 +140,16 @@ mappages(pagetable_t pagetable, uint64 va, uint64 size, uint64 pa, int perm)
uint64 a, last;
pte_t *pte;
+ if(size == 0)
+ panic("mappages: size");
+
a = PGROUNDDOWN(va);
last = PGROUNDDOWN(va + size - 1);
for(;;){
if((pte = walk(pagetable, a, 1)) == 0)
return -1;
if(*pte & PTE_V)
- panic("remap");
+ panic("mappages: remap");
*pte = PA2PTE(pa) | perm | PTE_V;
if(a == last)
break;