From aca053c18add536fb51d05bbfbc6e0147f06c183 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Wed, 24 Dec 2014 13:37:54 +0100 Subject: [PATCH] zynq: set mainmem->maxsize so kernel malloc() wont fail after 4MB --- sys/src/9/zynq/main.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 * -- 2.44.0