お前ら*BSDのカーネルをハックしますか? (378レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
3
(3): 01/10/17 20:33 AAS
> これからsys/kern/init_main.c読んでみます。

つーか、sys/arch/${MACHINE}/${MACHINE}/locore.s の start か、
せめて sys/arch/${MACHINE}/${MACHINE}/machdep.c の initなんとか() の
方を先に読んだほうがいいぞ。init_main.c の main() は、locore.s から
呼ばれてるわけだが、locore の初期化処理と initなんとか() の方が
main() より先に走って、機種依存の低レベルの初期化を行うので。

上のパス名は NetBSD の場合だけど、FreeBSD や OpenBSD でも、
だいたい似たような場所でしょ。
4: 見習デーモン 01/10/17 20:38 AAS
>>3
アセンブラはちょっとしんどいかな、と思って。(もちろん理解する努力はしますが)
とりあえずカーネルの動きの概要がしりたいんで、init_main.cからかな?と思って読んでます。

#GLOBALでタグ作るのに意外と時間かかった・・・
7: 見習デーモン 01/10/17 23:13 AAS
VM_*の定義追いかけてたらCPU寄りなところまできてしまった・・・
結局>>3さんが言う通り機種依存なところも目を通してみたり。
26
(5): 名無しさん@Emacs 01/10/30 23:45 AAS
>>3
えっと、もうmain()って名前じゃなくてmi_startup()という
名前に代わってるよん>init_main.cの関数。
FreeBSDの場合だと、mi_startup()はSYSINITマクロで作られた配列を
順番に実行するように作られてます。割と追いにくいです。
/sys/sys/linker_set.h
/sys/sys/kernel.h
あたりに小細工があります。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.015s