pcie を介してプロセッサとのインターフェイスとなるデバイスがあります。既存の pci ファイル操作を使用してドライバーを作成しました。
今私の問題は、ユーザー空間プログラムからどのようにアクセスするのですか? PCI ファイル操作には IOCTL サポートがないため、他の char デバイスとは異なり、ioctl 呼び出しを行うことができません。pci_config_read_byte などの関数は、カーネル空間 (linux/pci.h に含まれる) 用であるため使用できません。
pcie を介してプロセッサとのインターフェイスとなるデバイスがあります。既存の pci ファイル操作を使用してドライバーを作成しました。
今私の問題は、ユーザー空間プログラムからどのようにアクセスするのですか? PCI ファイル操作には IOCTL サポートがないため、他の char デバイスとは異なり、ioctl 呼び出しを行うことができません。pci_config_read_byte などの関数は、カーネル空間 (linux/pci.h に含まれる) 用であるため使用できません。
これを行うためにuioフレームワークを使用しました。次に、pciバーをユーザースペースにエクスポートするだけです。x86では、揮発性メモリ領域として扱うことができます。