linux-0.01 の hd.c

なんとなくイメージできてきた。

一連の流れ

  • rw_hd() 手続きは public な i/f である模様
    • ここから rw_abs_hd() 手続きが呼ばれる
  • rw_abs_hd() 手続きは add_request() を kickoff する
    • 戻ってきて wait_on_buffer() 手続きで待合せ?
  • add_request() は引数な hd_request をキューイング
  • do_request() はキューの先頭を hd_out に渡す
  • hd_out() はディスクコントローラなレジスタに情報を出力して、割り込みから do_hd を呼び出す
    • do_hd に格納される read_intr とか write_intr は処理が完了したら do_request() を呼び出す
    • キューの操作とか待合せからの復帰なども行なう

とりあえず

ひら方面の対応をナニ