とほほ
0.01 なカーネルなんですが、init/main.c の main() 手続きに jmp する明示的な記述が無くって困ってたんですが IA32_Arh_Dev_Man_Vol3_i.pdf の 9.8 にて保護モード動作のサポートにあたって初期化が必要なデータ構造が列挙されます。
その中の一つとして
プロセッサが保護モードに切り替わるときに実行されるコードをストアしているコード・セグメント
という記述を発見。よくよく考えてみたらカーネルの本体って 0x1000 にコピーされてるはずなので head.s で gdt と対応付けられてるはずで、上記の条件を満たしているのかどうなのか。
ただ、そーゆー意味だと head.s な after_page_tables で push されてる
pushl $main
ソレは一体何なんだ、って話なんですがorz
とりあえずその先を読みますな方向で。