ref: 25e68626bd33cda39686156095bf6292365557a7
parent: 283b0de48917d81ceab639a2c26e9349f2b05f22
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Tue Oct 1 21:01:34 EDT 2019
pc: move low-level allocation details out of mmu.c into memory.c rampage() function
--- a/sys/src/9/pc/memory.c
+++ b/sys/src/9/pc/memory.c
@@ -224,6 +224,8 @@
{ulong m;
+ if(conf.mem[0].npage != 0)
+ return xspanalloc(BY2PG, BY2PG, 0);
m = mapalloc(&rmapram, 0, BY2PG, BY2PG);
if(m == 0)
return nil;
--- a/sys/src/9/pc/mmu.c
+++ b/sys/src/9/pc/mmu.c
@@ -523,17 +523,9 @@
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));
--
⑨