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 余り、というのは時間として中途半端に過ぎます。