summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2021-07-10 17:28:21 +0300
committerAnup Patel <anup@brainfault.org>2021-07-17 15:00:48 +0300
commita4555e5698c1fbf5d89a849fbc8c01594401cf0a (patch)
tree74ec5cc2c7915dbe800be34377ce17120ef6b5eb
parent8a1475b5a1325547af7f428d4aed063d7a4007c7 (diff)
downloadopensbi-a4555e5698c1fbf5d89a849fbc8c01594401cf0a.tar.xz
docs: Document parameters passed to firmware and alignment requirement
This updates documentation to describe parameters passed to firmware from previous booting stage, and corresponding address alignment requirement. This also fixes a typo in fw_dynamic.md (it's => its). Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Anup Patel <anup.patel@wdc.com>
-rw-r--r--docs/firmware/fw.md7
-rw-r--r--docs/firmware/fw_dynamic.md5
2 files changed, 10 insertions, 2 deletions
diff --git a/docs/firmware/fw.md b/docs/firmware/fw.md
index cc0cc9e..913f939 100644
--- a/docs/firmware/fw.md
+++ b/docs/firmware/fw.md
@@ -9,6 +9,13 @@ OpenSBI generic library code. The supported firmwares type will differ in how
the arguments passed by the platform early boot stage are handled, as well as
how the boot stage following the firmware will be handled and executed.
+The previous booting stage will pass information via the following registers
+of RISC-V CPU:
+
+* hartid via *a0* register
+* device tree blob address in memory via *a1* register. The address must
+ be aligned to 8 bytes.
+
OpenSBI currently supports three different types of firmwares.
Firmware with Dynamic Information (*FW_DYNAMIC*)
diff --git a/docs/firmware/fw_dynamic.md b/docs/firmware/fw_dynamic.md
index 01f43f9..7b9b192 100644
--- a/docs/firmware/fw_dynamic.md
+++ b/docs/firmware/fw_dynamic.md
@@ -6,8 +6,9 @@ information about next booting stage (e.g. a bootloader or an OS) and runtime
OpenSBI library options from previous booting stage.
The previous booting stage will pass information to *FW_DYNAMIC* by creating
-*struct fw_dynamic_info* in memory and passing it's address to *FW_DYNAMIC*
-via *a2* register of RISC-V CPU.
+*struct fw_dynamic_info* in memory and passing its address to *FW_DYNAMIC*
+via *a2* register of RISC-V CPU. The address must be aligned to 8 bytes on
+RV64 and 4 bytes on RV32.
A *FW_DYNAMIC* firmware is particularly useful when the booting stage executed
prior to OpenSBI firmware is capable of loading both the OpenSBI firmware and