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年07月03日
kicad oddity
2024年05月08日
comparison on ./buildsh tools
2024年05月06日
py-setuptools (python 3.11.9)
make release took 1 hours and 10 min
qemu invocation for 10.99.10
2024年05月05日
Windows 10 version
serial connection
bc bench
2024年05月04日
Trial on 10.99.10
another version (later trial) to succeed
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)