技術書典6で自作NICドライバ本「ぼくらのイーサネットフレーム!」出します!
4/14(日)に 池袋サンシャインシティ2F 展示ホールD(文化会館ビル2F) で開催される
「技術書典6」に「へにゃぺんて(配置:う37)」で出展します!
新刊については後述(「続きを読む」から)
低レイヤブースまとめ
前回の技術書典5同様、 id:uchan_nos さんが技術書典6で出典している低レイヤブースをまとめて下さっています。
また、サークル配置図上の各サークルの場所は以下の通りです。
■ サークル紹介ページへのリンクまとめ(敬称略)
少しでも気になる内容があれば、この機会にぜひお立ち寄り下さい!
新刊について
今回の新刊では、ついに、NICドライバを作ります!
NICはPCIで接続されているので、PCIからNICを制御するための情報を取得します。
そして、取得した情報を使用してNICからデータの受信と送信を試します。
本書ではあくまでNICのドライバとして
独自のバイナリ列をオレオレイーサネットフレームとして送信する方法を紹介します。
目次
- はじめに
- 本書の構成
- 開発環境・動作確認環境
- 本書の PDF 版 /HTML 版やソースコードの公開場所について
- 第1章 PCI から NIC の情報を取得する
- 1.1 この章でやること
- 1.2 lspci コマンドで NIC を確認
- 1.3 PCI コンフィグレーション空間のアクセス方法
- 1.4 PCI コンフィグレーション空間から NIC のベンダー ID ・デバイス IDを読んでみる
- 1.4.1 io_read32()/io_write32() を追加する
- 1.4.2 定数を定義する
- 1.4.3 読み出す処理を実装する
- 1.4.4 実行してみる
- 1.4.5 関数化しておく
- 1.5 コマンドレジスタ・ステータスレジスタを確認してみる
- 1.6 NIC の BAR をダンプしてみる
- 1.6.1 PCI コンフィグレーション空間内の位置と BAR の構成を確認
- 1.6.2 BAR ダンプ処理を作る
- 1.6.3 BAR からベースアドレスを取得する処理を関数化しておく
- 第2章 NIC を制御してイーサネットフレームを送受信する
- 付録 A MAC アドレスを取得する
- おわりに
- 参考情報
- 参考にさせてもらった情報
- 開発リポジトリ
- 本シリーズの過去の著作