問題タブ [ioremap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4244 参照

linux-kernel - システム メモリの予約、ioremap()?

ioremap()システム DRAMを呼び出すのは悪いことですか。他のプロセスで使用されないシステム DRAM の領域を確保したいと考えています。これはそれを行う方法でしょうか?DRAM は実際には IO メモリではないことを知っているので、これが悪い習慣と見なされるかどうかはわかりませんでした。

0 投票する
0 に答える
139 参照

linux-kernel - 物理メモリ アドレスに書き込まれたデータの予期しない変更

プラットフォームは MIPS、カーネルは Linux 2.6.31 です。

まず、合計 64M の RAM のうち 8M の RAM ゾーンを予約するので、カーネルは 56M の RAM ゾーンのみを使用します。次に、このioremap()関数を使用してカーネル内で物理アドレスを仮想アドレスに変換し、データを書き込みます。このような:

次に、uboot でデータを読み取ります。電源を維持し、システムを再起動して、uboot に入ります。Uboot は物理アドレスを使用するため、0x83800000 から始まるデータを読み取ります。問題は次のとおりです。0x83800000(0M) で 1 バイトのデータが間違っており、0x83c00000(4M) で 1 バイトのデータが間違っており、0x84000000(8M) で 1 バイトのデータが間違っています。しかし、残りのデータはすべて buf と同じです。とても奇妙!!原因がわかりません、どなたか教えてください。ありがとう...

0 投票する
1 に答える
886 参照

linux-device-driver - remap_pfn_range を使用して、ブート時のリザーバー メモリをユーザー空間にマップします

remap_pfn_range を使用して、ブート時に予約済みメモリ (2G のオフセットで 30M) (ブート カーネル パラメータ mem=2G memmap=30M$2G) をユーザー空間にマップしようとしています。 以下は私のドライバー コードです。

私のユーザー空間アプリは以下です

モジュールを挿入すると、戻ります

しかし、ユーザー空間アプリを実行するとエラーが返されます