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>
This commit is contained in:
Bin Meng
2021-07-10 22:28:21 +08:00
committed by Anup Patel
parent 8a1475b5a1
commit a4555e5698
2 changed files with 10 additions and 2 deletions

View File

@@ -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 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. 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. OpenSBI currently supports three different types of firmwares.
Firmware with Dynamic Information (*FW_DYNAMIC*) Firmware with Dynamic Information (*FW_DYNAMIC*)

View File

@@ -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. OpenSBI library options from previous booting stage.
The previous booting stage will pass information to *FW_DYNAMIC* by creating 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* *struct fw_dynamic_info* in memory and passing its address to *FW_DYNAMIC*
via *a2* register of RISC-V CPU. 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 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 prior to OpenSBI firmware is capable of loading both the OpenSBI firmware and