Lions' 本読み (122)
v6-unix-okinawa なスライドの 92 枚目。と初期化のあたりを突き合せてみます。
まず、仮想記憶有効、のあたりは最初に動く start のあたりになります。
以下でスタックポインタが設定されてメモリ管理が開始されます。
0646 mov $_+[USIZE*64.],sp 0677 inc SSR0
この時点で ARP7 な領域もスライドの通り IO セグメントとして初期設定済み。
最初の newproc のあたり
ここはスデに process#1 が icode を実行するあたりなのか。自分メモとして以下に控えを列挙しときます。
- proc[0] の p_addr 属性には 1589 で *ka6 (これ、APR6 のアドレス、って思ってて良いのかどうか) が初期設定される
- アプリケーションプロセス向けの user 構造体は newproc でその領域が確保される
- user 構造体と kstack の領域サイズは 0103 で定義 (USIZE で 16 として定義されているが 64 byte 単位で 16 ブロックの意)
- newproc 手続きで確保される領域はこのサイズを踏襲しているはず
うーん
時間切れ。どうも 45min 余り、というのは時間として中途半端に過ぎます。