From: Yaroslav <yarikos@gmail.com>
To: 9fans@9fans.net, 9fans@hamnavoe.com
Subject: Re: [9fans] xen3: fresh build 9xenpccpuf dies on boot
Date: Fri, 13 Sep 2013 11:16:55 +0300 [thread overview]
Message-ID: <CAG3N4d_SOw1-Quoz=P_ZVqAjeihyXEhQPKvJkNnFDt2BL_6CKg@mail.gmail.com> (raw)
In-Reply-To: <00a9ef8424986e88297b5d4f751e7057@brasstown.quanstro.net>
Thanks, Erik, your guess is absolutely right... Richard, do you mind
updating /n/sources/xen/xen3/9/xen3/main.c?
term% diff -c /n/sources/xen/xen3/9/xen3/main.c
/n/sources/contrib/yk/xen3/main.c
/n/sources/xen/xen3/9/xen3/main.c:8,13 - /n/sources/contrib/yk/xen3/main.c:8,14
#include "init.h"
#include "pool.h"
#include "reboot.h"
+ #include <tos.h>
Mach *m;
/n/sources/xen/xen3/9/xen3/main.c:15,20 -
/n/sources/contrib/yk/xen3/main.c:16,26
#define BOOTARGSLEN (sizeof xenstart->cmd_line)
#define MAXCONF 64
+ enum {
+ /* space for syscall args, return PC, top-of-stack struct */
+ Ustkheadroom = sizeof(Sargs) + sizeof(uintptr) + sizeof(Tos),
+ };
+
char bootdisk[KNAMELEN];
Conf conf;
char *confname[MAXCONF];
/n/sources/xen/xen3/9/xen3/main.c:270,276 -
/n/sources/contrib/yk/xen3/main.c:276,282
uchar *av[32];
uchar **lsp;
- sp = (uchar*)base + BY2PG - MAXSYSARG*BY2WD;
+ sp = (uchar*)base + BY2PG - Ustkheadroom;
ac = 0;
av[ac++] = pusharg("/386/9dos");
2013/9/12 erik quanstrom <quanstro@quanstro.net>:
> 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 <tos.h>
> 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
--
- Yaroslav
next prev parent reply other threads:[~2013-09-13 8:16 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-12 7:44 Yaroslav
2013-09-12 8:04 ` Richard Miller
2013-09-12 13:48 ` Yaroslav
2013-09-12 13:54 ` erik quanstrom
2013-09-13 8:16 ` Yaroslav [this message]
2013-09-13 20:28 ` Richard Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAG3N4d_SOw1-Quoz=P_ZVqAjeihyXEhQPKvJkNnFDt2BL_6CKg@mail.gmail.com' \
--to=yarikos@gmail.com \
--cc=9fans@9fans.net \
--cc=9fans@hamnavoe.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).