pci_get_device()
現在、およびを介して特定のデバイスにアクセスするLinux 2.6カーネルモジュールがありpci_read_config_dword()
ます。将来、このモジュールは、PCI バスを持たないように見える (/sys/bus/pci が存在しない) 別のマシンでも動作するように変更されますが、既知の固定アドレスに特定のデバイスがあります。ここで、両方のマシンで機能するパラメーターなしの 1 つのモジュール バイナリが必要です。非 PCI マシンにモジュールをロードできるようにするには、使用を控える必要があると思います。したがって、PCI マシンで必要な構成スペース情報を別の方法で取得する必要があります。私は私の中でそれを読むことができましたpci_get_device()
/sys/bus/pci/devices/.../resource
init_module()
、しかし、カーネルモジュールにファイルを読み取らせることは悪い習慣と見なされていると私は収集します。私の目標を達成するためのより良い方法はありますか?
質問する
3346 次
1 に答える
0
のような関数pci_get_device()
が使用できない場合 (モジュールは、そのような関数を提供しないカーネルでも動作する必要があるため)、明らかに PCI アドレス情報を取得するには、 を読み取るよりも良い方法はありません/sys/bus/pci/devices/.../resource
。を使用して、Linuxカーネルモジュール内のファイルを読み書きする方法に基づいてfilp_open()
、そうすることに頼りましたか? .vfs_read()
filp_close()
于 2013-07-17T07:00:46.727 に答える