カーネルの勉強の過程で、私は 2 つの質問があります。
1) カーネル Oops メッセージに表示されるアドレスが仮想アドレスか物理アドレスかを知りたいのですが? (CPUが仮想アドレス空間で動作し、MMUの再マッピングを行う限り、それらは仮想であるべきだと思いますか?)
2) 私のプラットフォームは ARM ベースで、MMU をサポートしていますが、カーネル モジュールのロード先のアドレスを調べると、次のように表示されます。
# cat /sys/module/mydrv/sections/.data
0xbf00b4f4
# cat /sys/module/mydrv/sections/.text
0xbf006000
これらのアドレスは、0xffffffffa0110000、0xffffffffa011b948 のようなものであるべきではありませんか? 私の理解では、仮想メモリアドレスはより大きく、したがってより大きな仮想アドレス空間を提供するはずです? 繰り返しますが、私は初心者であり、もちろん VM と MMU を完全には理解していません :)
コメントありがとうございます。
マーク