From mboxrd@z Thu Jan 1 00:00:00 1970 From: erik quanstrom Date: Thu, 12 Sep 2013 09:54:32 -0400 To: yarikos@gmail.com, 9fans@9fans.net Message-ID: <00a9ef8424986e88297b5d4f751e7057@brasstown.quanstro.net> In-Reply-To: References: <7d1a3207b8e795f9c877a02074e94bf5@hamnavoe.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] xen3: fresh build 9xenpccpuf dies on boot Topicbox-Message-UUID: 7eee4594-ead8-11e9-9d60-3106f5b1d025 On Thu Sep 12 09:49:19 EDT 2013, yarikos@gmail.com wrote: > > The crash seems to be in init, not the kernel. Are you sure > > your file system image is good? > > it doesn't get far enough for "root from:", so it seems to fail > somewhere in the initcode blob this may be related to the change put in for the routerboard. it increased the size of Tos, and thus shifted everything around on the stack. but the old pc kernel didn't account for this, and 386 kernels failed with bad arg in syscall. this never affected the pae kernel, or the other architectures. here's the fix as it went into 9atom. ; 9fs atom ; cd /n/atom/plan9/sys/src/9/pc ; history -D main.c Aug 3 15:30:45 EDT 2013 main.c 16439 [quanstro] Aug 3 15:30:45 EDT 2013 /n/atomdump/2013/0912/plan9/sys/src/9/pc/main.c 16439 [quanstro] 10a11 > #include 25a27,31 > enum { > /* space for syscall args, return PC, top-of-stack struct */ > Ustkheadroom = sizeof(Sargs) + sizeof(uintptr) + sizeof(Tos), > }; > 294c300 < sp = (uchar*)base + BY2PG - MAXSYSARG*BY2WD; --- > sp = (uchar*)base + BY2PG - Ustkheadroom; - erik