2020年3月16日 星期一

在ARMV8開發板透過DTS 預留memory, 避開資源衝突!


/usr/local/Cavium_Networks/OCTEONTX-SDK/dts/ 找到相對應的  xxxxxx-linux.dts
xxxxboard name
然後加入 /memreserve/ 0x0000000010000000 0x0000000010000000;
                                                       Start address                               size
(device tree spec寫說要64 bits格式,所以我没省略前面的0,不知道可不可以省略。)


加在開頭的地方,如下圖:


然後make uboot-build PLAT=t83,得到imageupdate









另外可以修正PEM 避開pci resource 與 主版 memory resource 衝突的方式
目前已經找到workaround的方式,方法為修改device treePEMrangesranges會決定PEM mapping給底下device BAR的起始位置,如下圖標示起來的地方

原本為 0x00 0x10000000 0x8810 0x10000000
修改成0x00 0x00000000 0x8810 0x00000000

修改後,PEM在設定BAR時,會從0x0000 0000開始,
由於CN83XXSystem RAM是由0x0280 0000開始(前面保留給其它device)
這樣子的設定就避開了System RAM的區段,如下圖









沒有留言:

張貼留言