keyboardがboot時にどの様に初期化されているのかを確認する。9600など)の意味の理解だと思うので、この数字の出自をなるべく詳しく追っていく。diskも調べたかったが記事が長くなりすぎたのもあり、別の記事で調べたい。keyboardの初期化について説明しようと思う。実はVGAについては、xv6内で初期化のコードが1行もないので、概要とxv6における使用例を簡単にまとめている。準備PIIX4本記事では、PIIX4なるものがちょこちょこ出てくるが、これについて簡単にまとめる。CPU間のcontrollerの役割を果たす。APICを伝達することもしてる)。bridgeがあるので、PCIだけでなく、ISAも扱える。deviceが操作できる。resetされたときのデフォルト値を使っていると思われる2。次章以降では各種設定値の根拠としてPIIX4を参照することになる。APICは外づけとして、PIIX4との間でinterruptの情報のやり取りがされるっぽい。内部で、APICREQとAPICACKの信号を送り合ってhandshakeしてる。xv6におけるinterruptとexceptionの挙動。vectors.plのvector33関数)みたいな感じ。APICに送るような設定をしている。controllerとかの話は、Reference[1-1]を参照してください。codeが異なるのだな、ということがわかると思います。consoleinitでやっていることは2行だけ。writei関数で使用するためにdevsw[CONSOLE=1]にcallbackをセットしている。これらの関数はdiskからの読み書きで使用する関数なので、keyboardの入力とは直接は関係しない。詳しくは、xv6におけるdiskの記事で詳しく述べたいと思う。本記事では、2行目についてやや詳しく説明したい。Tableに登録する関数だ。I/OのRegisterにデータを書き込んでいる。APICのregisterに書き込んで置く必要があるというわけだ。