[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: root.diskimage-980222.gz
<19980224224318L.makoto@ki.nu>の記事において
1998年02月24日22時43分頃、makoto@ki.nuさんは書きました。
> 0 > boot scsi/sd@6:2 -a
> >> NetBSD/powerpc OpenFirmware Boot, Revision 1.3
> >> (tsubai@yokyun, Sun Feb 22 23:33:42 JST 1998)
> Boot: netbsd.ofcons
> no active packageBooting scsi/sd@6/netbsd.ofcons
> 871436@0x100000+72916@0x1d4c0c
> start=0x100000
ちょいと気になる点がもうひとつ。
egcs+binutilsの組合わせで、PSIMで使えるかどうか確かめていたのですが、
どうもofwbootからkernelが動かない。
理由を調べてみると、openfirmware()でOFのエントリを実行するときに
スタックを破壊していっている模様。
Locore.cでstackを自前で用意して使うようになっていて、
そのサイズが1Kだったので、試しに16Kにしてみると...
正常にkernelが動作しました。(initでささったけど :-)
ちゅーことで、だめでもともとでしょうが、
currentのsys/arch/powerpc/stand/ofwbootをstack増やしてから、
試してみてはいかがでしょうか。
sakamoto@cec.co.jp
Index: Locore.c
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/stand/ofwboot/Locore.c,v
retrieving revision 1.4
diff -c -r1.4 Locore.c
*** Locore.c 1998/02/22 07:42:30 1.4
--- Locore.c 1998/02/25 11:36:54
***************
*** 43,49 ****
static void startup __P((void *, int, int (*)(void *), char *, int));
static void setup __P((void));
! static int stack[256];
#ifdef XCOFF_GLUE
asm("
--- 43,49 ----
static void startup __P((void *, int, int (*)(void *), char *, int));
static void setup __P((void));
! static int stack[4096];
#ifdef XCOFF_GLUE
asm("
***************
*** 71,77 ****
lis 1,stack@ha
addi 1,1,stack@l
! addi 1,1,1024
b startup
");
--- 71,77 ----
lis 1,stack@ha
addi 1,1,stack@l
! addi 1,1,4096*4
b startup
");