初期化および終了機能を含むカーネルモジュールを作成しました。私も関数が欲しいので、いつでもユーザースペースプロセスから呼び出したいと思います。
適用されますか?それでは、どうすればいいですか?
私は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
最も簡単な方法は、文字デバイスを持ち、そのデバイスに書き込み、ドライバの読み取りを呼び出し、カーネル内の文字デバイスの読み取りコールバックでそれを処理することです。