[PATCH v5] docs/firmware: Update FW_JUMP documentation
Nylon Chen
nylon.chen at sifive.com
Tue Sep 27 00:34:09 PDT 2022
From: "Nylon.Chen" <nylon.chen at sifive.com>
Add a tip for OpenSBI's FW_JUMP which helps
users avoid overwriting the kernel.
Signed-off-by: Nylon Chen <nylon.chen at sifive.com>
Reviewed-by: Andrew Jones <ajones at ventanamicro.com>
---
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.36.1
More information about the opensbi
mailing list