1

通常、Linux PCI ドライバーでは、キャラクターデバイス (例: ) を介して制御インターフェイスをユーザーランドに公開することができ、ユーザーアプリケーションは、開いているファイル記述子/dev/drv_ctlで I/O 制御コマンドを読み書きできます。ioctl()

register_chrdev()Linux では、カーネル APIを使用してこれを作成します。

Solaris で同じまたは類似のメカニズムと動作を実現したいと考えていますが、Solaris では動作が少し異なるようです。DDI ルーチンddi_create_minor_node()には、オーディオ、ブロック、ネットなどのデバイスを示すノード タイプが必要です。これは、私には非常に曖昧に見えます。たとえば、暗号化 PCI デバイスが属するタイプは何ですか?

また、下と下ではなく下ddi_create_minor_node() にノードを作成するようです/devices/*/dev/*

誰かが私の疑問を明確にし、正しい方向性を指摘していただければ幸いです。

ありがとう。

4

1 に答える 1

2

通常、自分にとって便利な名前を使用して、自分で /dev の下にシンボリック リンクを作成します。これは、呼び出しによって作成された実際の /devices パスを指しddi_create_minor_node()ます。に ddi ノード タイプのリストがあります<sys/sunddi.h>。暗号デバイスの場合 (それは何ですか?)、おそらく DDI_PSEUDO が必要です。

于 2015-11-28T07:14:49.860 に答える