kernel-module

    0

    1答えて

    ユーザアプリケーションをカーネルモジュールに変換しています。カーネルモジュールは200Mを使用します(すべてのメモリはvmalloc()によって取得されます)。このメモリは再帰ハッシュテーブルに使用されます。私はハッシュテーブルを削除するために再帰関数を使用しています。再帰呼び出しの数は、使用される合計メモリが200Mであり、すべての単一ハッシュテーブルのサイズがちょうど256 * 8であるため、

    1

    1答えて

    私は今、カーネルモジュールを学んでいるので、仮想マシンにkernel 4.4.0-28-genericというUbuntu 16.04をセットアップしました。 私は、これは私はすでに/home/test/WorkSpace/Kernel/linux-source-4.4.0にカーネルソースパッケージ/usr/src/linux-source-4.4.0.tar.bz2を解凍 # dpkg -l |

    2

    1答えて

    ハードウェアのメモリエラーを確認するのにmcelogが使用されていることが分かります。私は同じケースをシミュレートしたい。このケースをシミュレートできるハードウェアに問題があるマシンはありません。誰も私にこれらのエラーを生成することができるいくつかのシミュレータまたは他の方法を私に示唆することができます。私の主な目的はUncorrectable Memory errorsです。ありがとう。

    0

    1答えて

    私はPCIバー1でアドレス可能なSRAMメモリを持っています。私は、ユーザプロセスがsramメモリをmmapして読み書きできるように、ドライバのmmap関数を正しく書く方法を知りたいと思います。 私は同じことを行うには、ドライバで、次のプローブとmmap関数を書いた: プローブ機能を: static int probe(struct pci_dev * pcidev, const struct p

    0

    1答えて

    これは、sys v api(shmget(), shmat(), shmdt())を使ったユーザー空間処理の間でメモリセグメントを共有するのが簡単だから、同じapiを使ってカーネルからユーザー空間。

    1

    2答えて

    私は、カーネルモジュールに をデバッグするには、このリンク(Understanding a Kernel Oops!)を、次の午前しかし.init.textセクションの内容は、すべてゼロを持っています。そして、私はこのクラッシュの原因となる正確な線を見ることができません。 私/var/log/syslog出力は次のようになります。 Aug 1 18:07:33 manik kernel: [ 14

    1

    1答えて

    init_moduleファンクション内でpci_register_driver()を呼び出してPCIドライバを登録した後、ドライバは、デバイスがベンダIDと一致していると仮定してドライバがないPCIデバイスを制御し、デバイスIDなどを指定します(struct pci_device_id)。 私はイーサネットコントローラに実験用にドライバを使用させたいと思っています(設定バイトの読み込みなど)。 V

    2

    1答えて

    私はカーネルドライバのプログラミングには新しく、いくつかの側面を理解したいと思います。以下のコードで http://lxr.free-electrons.com/source/drivers/i2c/busses/i2c-ocores.c?v=3.19 static int ocores_i2c_probe(struct platform_device *pdev) { struct

    1

    1答えて

    シナリオ1:私は(実際には、Elrepoからkernel-lt)バニラカーネル3.10とRHEL6上にIBMGPFSドライバをインストールしようとしています。 構造体xは彼らのコードは罰金にコンパイルし、そのようなメンバー 型の不一致 を持っていない機能に渡されたの数が多すぎ/少なすぎる引数:GPL部分が起因してコンパイルされませんRHEL/Suseのカーネルは、古いものよりも新しいものですが、こ

    1

    1答えて

    特定の条件でパケットを転送するカーネルモジュールを作成しようとしています。今は、インターフェイスで受信したパケットを転送し、別のインターフェイスに転送するハードコードテストを実行しようとしています。このテストでは、eth0の192.168.56.101からのパケットを受信して​​います。このパケットを192.168.57.1​​03のeht1に転送します。 eth0では私のipは192.168.5