kernel-module

    8

    1答えて

    私は、カーネルにおける非同期割り込み処理を理解しようとしています。伝説的なLinuxカーネルについて理解しています。 このプロセスでは、どのようにして誰がカーネル割り込みハンドラをトリガしますか? 私はこれを修正し、私の質問を明確にするのを助けてほしいです 1)どうやって誰がカーネル割り込みハンドラを起動しますか? 2)新しいハードウェア割り込みハンドラを定義する方法、または既存のハードウェア割り

    5

    1答えて

    私はカーネルドライバのプログラミングを進めています。現在、アプリケーションとカーネルドライバの間で簡単なデータ転送を構築しようとしています。 私はこれら2つの間のリンクとしてシンプルキャラクタデバイスを使用していますが、ドライバにデータを転送するのに成功しましたが、ユーザー空間に意味のあるデータを戻すことができません。 カーネルドライバは次のようになります。 #include <linux/ini

    7

    2答えて

    私はいくつかのLinuxカーネルモジュールを使用しており、循環ローディングの問題に関する質問があります。 モジュールAが最初にロードされ、モジュールBまたはCが使用する多くのシンボルがエクスポートされます。モジュールBまたはCはその後にロードされ、シンボルは使用のために存在します。 しかし、モジュールAはモジュールBまたはCのいずれかのシンボルを必要としますが、ランタイム中のみであり、モジュールを

    5

    2答えて

    でスレッドアフィニティを設定するほとんどのCプログラマーは、libcがスレッドcpuアフィニティ調整(pthread_attr_setaffinity_np())のための移植性のない関数を提供することを知っています。しかし、私が実際には分かっていないのは、カーネルモジュールを実装するときにどのようにこれを行うことができるかということです。実際の例に言及したり、リダイレクトしたりする答えは、むしろ参

    10

    2答えて

    私はカーネルプログラミングで初心者です&私はこのカーネルモジュールを実行したいです(下に掲載されています)...そして、私はmakefileを実行しましたが、以下のエラーが出ています:誰かが私はこれを克服する方法を理解する助けてくださいすることができます それはIntel's implementationから取られるようカーネルプログラムにエラーがない実行する必要があります: obj-m += h

    5

    2答えて

    私はカーネルメモリでプローブするために構築した単純なカーネルオブジェクトを持っています。 私が64ビットのUbuntu(3.2)マシンにビルドすると、そのマシンで正常に動作します。しかし、私の64ビットUbuntu(3.9)マシンではinsmodしません。およびその逆。それは私がそれを構築していたもの以外のカーネルのレビでそれを実行しようとすると、私に "-1無効なモジュールフォーマット"エラーを

    5

    2答えて

    ロード可能なカーネルモジュールを作成してテストしようとしています。それを挿入した後、私はrmmod xxxコマンドを使用して削除しようとしていましたが、module xxx is in useというエラーが表示され、モジュールがスタックされ、削除できません。マシン全体を再起動せずにモジュールを削除するにはどうすればよいですか? (LinuxカーネルのV 3.5.0。) 注:rmmod -fプリント

    8

    4答えて

    My OS Ubuntu 12.04。私はこのカーネルモジュールを書いて、insmodとrmmodコマンドを使用しますが、/ var/logメッセージには何もありません。どうすればこの問題を解決できますか? /* * hello-1.c - The simplest kernel module. */ #include <linux/module.h> /* Needed by all mo

    5

    2答えて

    私は、カーネルとユーザースペースコードの両方を含む大規模な組み込みソフトウェア(ARMプロセッサ、組み込みLinux 2.6.31、ビジーボックス)を使用しています。通常は最初にロードされるカーネルモジュールと、モジュールとnetlinkソケットを確立するデーモンがあります。 問題ここにデーモンを殺した後、私はもはやメモリからモジュールをアンロードすることができるよということではありません:(戻り

    7

    2答えて

    ターゲットプロセスp2に属するデータページを上書きするために、プロセスp1によって呼び出されるカーネルモジュールを作成しています。 まず、カーネルモジュールの内部で、p1によって発行されたwriteイベントをprocファイルシステムに応答している間。私はターゲットプロセス(p2)のプロセスIDを使用して、後者のタスク構造体(p2_task)を検索しました。 特定のページを検索するために、私はget