From 7105c189f67028ef73720d7e9816c800ab53dda5 Mon Sep 17 00:00:00 2001 From: "Nylon.Chen" Date: Tue, 27 Sep 2022 15:34:09 +0800 Subject: [PATCH] docs/firmware: Update FW_JUMP documentation Add a tip for OpenSBI's FW_JUMP which helps users avoid overwriting the kernel. Signed-off-by: Nylon Chen Reviewed-by: Andrew Jones Reviewed-by: Anup Patel --- docs/firmware/fw_jump.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/firmware/fw_jump.md b/docs/firmware/fw_jump.md index 35a4301..956897e 100644 --- a/docs/firmware/fw_jump.md +++ b/docs/firmware/fw_jump.md @@ -41,6 +41,22 @@ follows: provided, then the OpenSBI firmware will pass the FDT address passed by the previous booting stage to the next booting stage. + When using the default *FW_JUMP_FDT_ADDR* with *PLATFORM=generic*, you must + ensure *FW_JUMP_FDT_ADDR* is set high enough to avoid overwriting the kernel. + You can use the following method. + + ``` + ${CROSS_COMPILE}objdump -h $KERNEL_ELF | sort -k 5,5 | awk -n '/^ +[0-9]+ /\ + {addr="0x"$3; size="0x"$5; printf "0x""%x\n",addr+size}' \ + | (( `tail -1` > 0x2200000 )) && echo fdt overlaps kernel,\ + increase FW_JUMP_FDT_ADDR + + ${LLVM}objdump -h --show-lma $KERNEL_ELF | sort -k 5,5 | \ + awk -n '/^ +[0-9]+ / {addr="0x"$3; size="0x"$5; printf "0x""%x\n",addr+size}'\ + | (( `tail -1` > 0x2200000 )) && echo fdt overlaps kernel,\ + increase FW_JUMP_FDT_ADDR + ``` + *FW_JUMP* Example ----------------- -- 2.7.4