git: 9front

Download patch

ref: d66affbe75b0489f232f84d9f6fb1519e2b80d04
parent: 6bcf2c8bf866e8c7001bc18a5755435356487730
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Wed Dec 24 08:37:54 EST 2014

zynq: set mainmem->maxsize so kernel malloc() wont fail after 4MB

--- a/sys/src/9/zynq/main.c
+++ b/sys/src/9/zynq/main.c
@@ -178,6 +178,7 @@
 void
 confinit(void)
 {
+	ulong kmem;
 	int i;
 
 	conf.nmach = 1;
@@ -189,7 +190,13 @@
 	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 *
--