[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

NetBSD/ofppc with PSIM(gdb-4.17)



gdb-4.17で、NetBSD/ofppcを動かす方法。

   gdbにはPSIM(powerpc simulator)が含まれている。

   * gdb-4.17をtarget=powerpc-netbsdでcompileする。
   * その際の変更点。
       1. gdb/configure.tgt:216に powerpc-*-*bsd*を追加
       2. sim/configure:1309に powerpc-*-*bsd*を追加
       3. hostがNetBSD-1.3以降では、 sim/ppc/emul_netbsd.cの #define SYS(X)
          ASSERT(call == (SYS_##X)) を#define SYS(X)のみにする。
       4. vm.c:882あたりのif (MASKED32 ブロックをcomment outする。

   * PSIM用のファイルシステムイメージを作成する。

     dd if=/dev/zero of=ppcfs bs=10240k count=10
     vnconfig vnd0 ppcfs
     disklabel vnd0 > /tmp/x
     disklabel -R -r vnd0 /tmp/x
     newfs -B be /dev/rvnd0c         ← little endianマシンでは、
     mount /dev/vnd0c /mnt           ← kernel optionでFFS_EIを有効にすること。

   * ofppc/stand/ofwbootでofwbootを作る。 Locore.c:46,74の数値は
     それぞれ4倍しておくこと。stackが足らないらしい。
     できたofwboot(powerpc ELF)は、powerpc-netbsd-objcopy --remove-section=.note     として.noteセクションを削ること。
   * ofppcでkernelを作って/mntに置く。
   * ppc-makeのDESTDIRを/mntにして、 NetBSD source treeでuserland codeを
     compile/installする。 この際、compileできないものや、WARNINGが出まくる
     ものがあるが、 なんとかする :-) bsd.sys.mk書き換えたり... WARNS=0したり
   * /mnt/devで MAKEDEV allを実行する。
   * installし終わったら(最低/sbin/initと/bin/shかな)
     powerpc-netbsd-run -f tree ofwboot。
     tree内のimage fileのpathを 変更すること。
   * これでNetBSD/ofppcが起動するはず。 root deviceはofdick0c。
     umount /mnt; vnconfig -u vnd0をやっておく方が安全。

   tree,MAKEDEVはftp://www.cec.co.jp/usr/sakamoto/NetBSD/psim/

sakamoto@cec.co.jp