[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NetBSD/newsmips boot.fs
<20010202184613Y.h-masuda@ics.es.osaka-u.ac.jp>の記事において
h-masuda@ics.es.osaka-u.ac.jpさんは書きました。
> tsutsui> とりあえず原因を切り分けるべく boot floppy 内の
> tsutsui> kernel を HDD に置いてそこから起動したらどうなるか
> tsutsui> 確認できるでしょうか。
> で、boot log です。とりあえず起動したっぽいです。
> # すると何が悪いんでしょうねぇ……。
PROM が FDC の後始末をしてないとかそういうことだと思います。
PWS-1560 でも同じような現象がありました。
#news68k は kernel の先頭でむりやり FDC reset してます。
とりあえず newsmips/stand/boot/boot.c で loadfile() のあと
PROM の close() 呼ぶようにしたものを同じところに新たに
置いたのでまた試してみて下さい。
-rw-r--r-- 1 tsutsui wheel 1314874 Feb 2 20:00 boot-newsmips-15Q.fs.gz
#PWS-1560 は NEWS-OS の boot loader でダメだったのでこれもダメかも。
#そうなると fd の driver を書くという本質でない解決策が必要?
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp
Index: boot.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/newsmips/stand/boot/boot.c,v
retrieving revision 1.5
diff -u -r1.5 boot.c
--- boot.c 2000/10/12 05:34:29 1.5
+++ boot.c 2001/02/02 11:11:37
@@ -161,6 +161,11 @@
if (fd == -1)
_rtt();
+ if (apbus)
+ apcall_close(fd);
+ else
+ rom_close(fd);
+
DPRINTF("entry = 0x%x\n", (int)marks[MARK_ENTRY]);
DPRINTF("ssym = 0x%x\n", (int)marks[MARK_SYM]);
DPRINTF("esym = 0x%x\n", (int)marks[MARK_END]);