diff options
| -rw-r--r-- | sys/src/9/pc/memory.c | 2 | ||||
| -rw-r--r-- | sys/src/9/pc/mmu.c | 12 |
2 files changed, 4 insertions, 10 deletions
diff --git a/sys/src/9/pc/memory.c b/sys/src/9/pc/memory.c index fb14d017e..113726648 100644 --- a/sys/src/9/pc/memory.c +++ b/sys/src/9/pc/memory.c @@ -224,6 +224,8 @@ rampage(void) { ulong m; + if(conf.mem[0].npage != 0) + return xspanalloc(BY2PG, BY2PG, 0); m = mapalloc(&rmapram, 0, BY2PG, BY2PG); if(m == 0) return nil; diff --git a/sys/src/9/pc/mmu.c b/sys/src/9/pc/mmu.c index c76c8962b..383ba7d91 100644 --- a/sys/src/9/pc/mmu.c +++ b/sys/src/9/pc/mmu.c @@ -523,17 +523,9 @@ mmuwalk(ulong* pdb, ulong va, int level, int create) if(*table & PTESIZE) panic("mmuwalk2: va %luX entry %luX", va, *table); if(!(*table & PTEVALID)){ - /* - * Have to call low-level allocator from - * memory.c if we haven't set up the xalloc - * tables yet. - */ - if(conf.mem[0].npage != 0) - map = xspanalloc(BY2PG, BY2PG, 0); - else - map = rampage(); + map = rampage(); if(map == nil) - panic("mmuwalk xspanalloc failed"); + panic("mmuwalk: page alloc failed"); *table = PADDR(map)|PTEWRITE|PTEVALID; } table = KADDR(PPN(*table)); |
