技術書同人誌博覧会
フルスクラッチで作る!x86_64自作OS パート4 ぼくらのイーサネットフレーム!
同人誌・76ページ・紙・500円
チェックする

本書は自作OSでNICドライバを作ってみる本です。

「フルスクラッチで作る!x86_64自作OS」シリーズで作成するOSを対象にしていますが、PCI上のNICデバイスの確認方法から紹介していますので、ご自身のOS向けにNICドライバを作る際にも参考になるかと思います。

NICドライバとしては、NICが受信したバイナリ列(ほとんどの場合イーサネットフレーム)を画面にダンプしたり、NICへ任意のバイナリ列を「オレオレイーサネットフレーム」として送信させたり、といったことをやってみます。プロトコル・スタックの実装までは踏み込みませんが、NICのMACアドレスの取得方法を付録で紹介しているので、NICへ送信させるバイト列に「宛先MACアドレス」や「送信元MACアドレス」・「タイプ」をヘッダとして含めておけば、ちゃんとしたイーサネットフレームを送信するようにもできます。

【目次】

■ はじめに
・本書の構成
・開発環境・動作確認環境
・本書の PDF 版 /HTML 版やソースコードの公開場所について

■ 第1章 PCI から NIC の情報を取得する
・1.1 この章でやること
・1.2 lspci コマンドで NIC を確認
・1.3 PCI コンフィグレーション空間のアクセス方法
・1.4 PCI コンフィグレーション空間から NIC のベンダー ID ・デバイス IDを読んでみる
・1.5 コマンドレジスタ・ステータスレジスタを確認してみる
・1.6 NIC の BAR をダンプしてみる

■ 第2章 NIC を制御してイーサネットフレームを送受信する
・2.1 NIC のレジスタの操作方法
・2.2 フレームを受信する
・2.3 オレオレフレームを送信する

■ 付録 A MAC アドレスを取得する
・A.1 EEPROM へのアクセスを試す
・A.2 受信アドレスレジスタから取得する

■ おわりに

■ 参考情報
・参考にさせてもらった情報
・開発リポジトリ
・本シリーズの過去の著作

立ち読み
ホーム
サークル
頒布物
マイページ