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

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
50
(1): 02/01/11 07:01 AAS
>>26
SYSINITの所で、つまずいたです。
出来れば簡単に説明して頂けるとうれしいのですが。。
52
(2): 26 02/01/14 18:50 AAS
以下の実験は実行ファイル形式としてELFを使用しgccをコンパイラとして
利用している事が前提である。
実験1.
まず以下のソースをコンパイルし結果を見よ。
--------a.c
extern int __start_b;
extern int __stop_b;
省20
56: 52 02/01/15 00:31 AAS
>>55

>>26参照。
57: 26 02/01/15 00:34 AAS
それから、__attribute__はgccの拡張だよ。info参照。
63
(1): 26 02/01/17 00:04 AAS
>>58

どんな簡単な物でもいいから、とりあえずドライバ書いて見たら?
今まであるドライバからコピペしたり、/usr/share/examples/にある
スクリプトを使ったテンプレートを元に書けばそんなに難しくないよ。
頭から追っていくってのは正直言うとかなり効率の悪い方法だと思う。
カーネルがprintf(9)で吐くメッセージをたよりにしたりしながら
調べるのが吉。そうすれば例えばSYSINITの実装はとりあえず理解しなくても
省1
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.016s*