タグ

ブックマーク / sleep.mat-yan.jp/~yutaka (1)

  • Linuxデバイスドライバ《Ethernet編》

    まずはドライバの追加した機能を見ていきましょう(diffを参照)。 ioctlを利用するにはその名もズバリioctl(2)というシステムコールが用意されており、 それをアプリケーションから使います。ioctlのmanページを見ると、デバイスを制御する ということしか書いてなくあっさりとしているのは、ドライバごとに独自な機能が用意 されているため、ioctlを使って何ができるかはドライバの機能を調べないと分からない からです。 ドライバのioctlはmii_ioctl()に実装されています。変数cmdには、アプリケーション からioctl(2)の第2引数(request)で指定したコマンド種別が入っています。ここでは、 SIOCDEVPRIVATEコマンドに処理を追加しました。PCIデバイスのレジスタアクセスを行う ために、device構造体からベースアドレスレジスタを取得しておきます(

    zinoue
    zinoue 2009/12/11
    Socket開いてレジスタをたたく
  • 1