zynqmp zcu102ボードのデバイスツリーでメモリノードを変更しようとしています。ところで何かがこのノードを覆っているようです。
FITイメージとu-bootを使用して起動します。 FIT イメージの shasum で正しい DTB が存在し、/proc/device-tree に表示される偽ノードを追加して、カーネルが正しい DTB を使用していることを確認しました。ただし、何らかの理由で /proc/device-tree に示されているメモリノードが DTB と一致しません。
私のデバイスツリーの関連部分は次のとおりです。
memory {
device_type = "memory";
reg = <0x0 0x0 0x0 0x10000000>;
};
fakenode{
foo = "bar";
};
これは/proc/device-treeの次のノードで見ることができます:
root@zynqmp:/proc/device-tree# hexdump memory/reg
0000000 0000 0000 0000 0000 0000 0000 0080 0000
0000010 0000 0800 0000 0000 0000 0000 0080 0000
0000020
root@zynqmp:/proc/device-tree# hexdump memory/name -C
00000000 6d 65 6d 6f 72 79 00 |memory.|
00000007
root@zynqmp:/proc/device-tree# hexdump fakenode/name -C
00000000 66 61 6b 65 6e 6f 64 65 00 |fakenode.|
00000009
root@zynqmp:/proc/device-tree# hexdump fakenode/foo -C
00000000 62 61 72 00 |bar.|
00000004
u-boot または Linux 構成がブート時にメモリノードを上書きできますか?私は今次に何をすべきかを終えています。
修正する:
私はLinuxがu-boot独自のデバイスツリーから/ memoryノードを継承することを発見しました。これがどこに文書化されているのかわからず、実験を通して発見しました。これらを分離する方法はありますか?