私は、単純なディスク ドライバを開発するという 4 分の 1 に及ぶプロジェクトの一環として、ドキュメンテーションを大量に作成してきました。現在、Intel 82801EB IO コントローラー内に実装されているさまざまな atapi および IDE コントローラー レジスターをマップしようとしています。
まず、参照しているドキュメント: www.intel.com/assets/pdf/datasheet/252516.pdf
415 ページの表 154 は、さまざまな構成レジスタのオフセットを示しています。これはばかげた質問のように思えるかもしれませんが、どこからオフセットされているかを見つけるにはどうすればよいですか? これらのレジスター用に予約された何らかの固定ベースアドレスが見つかることを期待していました。そこから、このテーブルを使用してドライバーを構築できます。
たとえば、テーブル 154 では、PCI コマンド レジスタはオフセット 04 ~ 05h に配置されています。レジスターは 417 ページに詳述されており、私はそれを理解していると信じています。しかし、このレジスタが 4 バイト離れたベース アドレスはどこにあるのでしょうか。
更新: 今、使用している D865PERL ボードの固定 IO マップを振り返ってみると、0000-00ffh は B865PERL によって予約されており、動的アドレス情報については ICH5 データシートを参照する必要があることがわかります。上記のテーブル 154 の IDE コントローラ レジスタに使用できると思われます。この時点で、私は教授に電子メールを送信しましたが、これらがどこにあるかをまだ把握しようとしています.
ご覧いただきありがとうございます。