diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-12-24 13:37:54 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-12-24 13:37:54 +0100 |
commit | aca053c18add536fb51d05bbfbc6e0147f06c183 (patch) | |
tree | d22f6247c8396f13fa399de668df32c172498bd3 /sys/src/9/zynq | |
parent | 4e94094e941e908008ead1f574003c2ddc3113a0 (diff) |
zynq: set mainmem->maxsize so kernel malloc() wont fail after 4MB
Diffstat (limited to 'sys/src/9/zynq')
-rw-r--r-- | sys/src/9/zynq/main.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/src/9/zynq/main.c b/sys/src/9/zynq/main.c index dc0bdcce7..d0b60734e 100644 --- a/sys/src/9/zynq/main.c +++ b/sys/src/9/zynq/main.c @@ -178,6 +178,7 @@ options(void) void confinit(void) { + ulong kmem; int i; conf.nmach = 1; @@ -189,7 +190,13 @@ confinit(void) conf.npage = 0; for(i = 0; i < nelem(conf.mem); i++) conf.npage += conf.mem[i].npage = (conf.mem[i].limit - conf.mem[i].base) >> PGSHIFT; - conf.upages = conf.npage - 100*1024*1024 / BY2PG; + kmem = 100*1024*1024; + conf.upages = conf.npage - kmem/BY2PG; + kmem -= conf.upages*sizeof(Page) + + conf.nproc*sizeof(Proc) + + conf.nimage*sizeof(Image); + mainmem->maxsize = kmem; + imagmem->maxsize = kmem - (kmem/10); } static uchar * |