diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/vm.c | 5 | 
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; | 
