カーネルモジュール関数の呼び出し

カーネルモジュール関数の呼び出し

初期化および終了機能を含むカーネルモジュールを作成しました。私も関数が欲しいので、いつでもユーザースペースプロセスから呼び出したいと思います。

適用されますか?それでは、どうすればいいですか?

私はCentOS 5.2とLinux 2.6.18でパッチされたカスタムカーネルを扱っています。

編集:明確にするために、カーネルモジュールに関数を作成し、通常のsource.cファイルからその関数を呼び出したいと思います。

答え1

ファイルシステムを使用できるカーネルモジュールを作成すると/proc効果があるようです。IBMdeveloperWorksに記事があります。そのテーマに。私は数年前にこのコードを書いて動作しました。この記事は2006年に作成され、Linux 2.6カーネルに関するものです。

/procモジュールがそのタスクを実行するためにファイルシステムで「ファイル」を使用すると、Open / Read / CloseスタイルAPIが目的の操作と一致しない可能性があります。/proc「WBINVDを実行する」または同様に明確ではないことを意味するために、ファイルでopen()を使用する必要があるかもしれません。

答え2

最も簡単な方法は、文字デバイスを持ち、そのデバイスに書き込み、ドライバの読み取りを呼び出し、カーネル内の文字デバイスの読み取りコールバックでそれを処理することです。

関連情報