hns - 日記自動生成システム - Version 2.19.9

先月 2002年06月 来月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2002年06月17日(月) 旧暦 [n年日記]

#1 [NetBSD] start=0x100000 で止る問題

20020314+(libkern)0313 動く:

20020407 kbd/screen では動かない:

20020407 に逆 patch を当てる(R)と動く:

ただし
  • macppc/macppc/conf.c は 1.37 でなく 1.38 を
  • powerpc/powerc/powerpc_machdep.c は 1.10 でなく 1.11 を
採用

20020407 に syncicache.c だけを古くして見る(R-2)と、:

serial (ttya) でも動かなくなってしまう。
0 > boot netbsd.1 
OF_open bootpath=ata/ata-disk@0
read stage 2 blocks: 01234567. done!
starting stage 2...

>> NetBSD/macppc OpenFirmware Boot, Revision 1.6
>> (makoto@ibook, Mon May 27 12:55:46 JST 2002)
no active package3753564+218516 [188096+156874]=0x41e1e0
 start=0x100000
しかし、良く考えて見ると、__syncicache を呼んでいるのは ofwboot (/boot) であって、上の作業ではその内容は更新されていない ? (以上で使っている ofwboot は 1.6_BETA1 のもの)
というのは、あさはかであって

__syncicache は:

kernel が読まれた後、起動する時の一番最初の、 syssrc/sys/arch/macppc/macppc/locore.S の中の
212         mr      5,6                     /* args string */
213         bl      _C_LABEL(initppc)
214         bl      _C_LABEL(main)
215         b       _C_LABEL(OF_exit)
(これはどの版でも変更無) で呼ばれる initppc で、それは syssrc/sys/arch/macppc/macppc/machdep.c の中にあって、 で
141 initppc(startkernel, endkernel, args)
313         __syncicache((void *)EXC_RST, EXC_LAST - EXC_RST + 0x100);

419 restore_ofmap(ofmap, len)
472         __syncicache((void *)&extint_call, sizeof extint_call);
473         __syncicache((void *)EXC_EXI, (int)&extsize);

684 cpu_reboot(howto, what)
724                 __syncicache((void *)msgbuf_paddr, round_page(MSGBUFSIZE));

748         /* flush cache for msgbuf */
749         __syncicache((void *)msgbuf_paddr, round_page(MSGBUFSIZE));
のように呼ばれている。 (これもどの版でも変更無)

libkern の関係だけを戻して見ようか。:

serial でも動かなくなってしまった。

sys/lib/libkern/arch/powerpc/ だけの問題だ、:

しかも 20020314 の変更だけが問題だということで、確かに
rest       libkern/arch/powerpc
20020314 + 20020313         boots fine even with kbd/screen
20020314                    stops at start=0x100000
20020314   one line patch   stops at start=0x100000
そうなっている。 20020314 の kernel が出来るとは思わなかったので、試さなかった。

関係ないが kbd/screen のどちらか一方では ?:

と気になったので、 まず動く kernel を使って、
input-device output-device
ttya         screen         問題ない
kbd	     ttya           次のように zstty0 で止る ?
....
obio0 at pci0 dev 16 function 0: addr 0xf3000000
mesh0 at obio0 offset 0x10000 irq 12: 50MHz, SCSI ID 7
scsibus0 at mesh0: 8 targets, 8 luns per target
zsc0 at obio0 offset 0x13000: irq 15,16
zstty0 at zsc0 channel 0u'
動かない kernel だと、どちらの組合せも start=0x100000 で止る。

(多分余計な) consinit() を外すと問題解決:


#2 [NetBSD] ちょっと気になる ofw_stack() は


#3 [NetBSD] OpenBSD の pdisk

todd ってまさか Todd Vierling ではないよね、あの人は tv だったか。



最近の日記
2024年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)