[PATCH 7/7] docs: firmware: list FW_DYNAMIC_APPEND in fw.md
Zong Li <[email protected]> Mon, 6 Jul 2026 20:39:54 -0700
| Newsgroups | org.infradead.lists.opensbi |
|---|---|
| Message-ID | <[email protected]> |
Update the firmware overview to reflect that OpenSBI now supports four firmware types. Add a short FW_DYNAMIC_APPEND section describing it as a FW_DYNAMIC variant whose struct fw_dynamic_info is appended into the binary (before .bss) instead of being passed in a2, and add a pointer to docs/firmware/fw_dynamic_append.md in the per-type documentation list. Signed-off-by: Zong Li <[email protected]> --- docs/firmware/fw.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/docs/firmware/fw.md b/docs/firmware/fw.md index d2980967..9cdd6a6b 100644 --- a/docs/firmware/fw.md +++ b/docs/firmware/fw.md @@ -16,7 +16,7 @@ of RISC-V CPU: * 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 four different types of firmwares. Firmware with Dynamic Information (*FW_DYNAMIC*) ------------------------------------------------ @@ -28,6 +28,19 @@ 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 the booting stage binary to follow OpenSBI firmware. +Firmware with Appended Dynamic Information (*FW_DYNAMIC_APPEND*) +------------------------------------------------------------- + +The *FW_DYNAMIC_APPEND* firmware is a variant of *FW_DYNAMIC*. It carries +the same struct fw_dynamic_info, but the structure is appended into the +OpenSBI binary itself (right before the .bss section, so that it stays part +of the flat .bin image) instead of being passed by pointer in the a2 register. + +A *FW_DYNAMIC_APPEND* firmware is particularly useful when the booting stage +executed prior to OpenSBI firmware cannot easily allocate and pass a +struct fw_dynamic_info, but can load the OpenSBI image and patch a few +fields at the tail of the image before jumping to it. + Firmware with Jump Address (*FW_JUMP*) -------------------------------------- @@ -77,12 +90,16 @@ following documents. * *[FW_DYNAMIC]*: The *Firmware with Dynamic Information (FW_DYNAMIC)* is described in more details in the file *fw_dynamic.md*. +* *[FW_DYNAMIC_APPEND]*: The *Firmware with Appended Dynamic Information + (FW_DYNAMIC_APPEND)* is described in more details in the file + fw_dynamic_append.md. * *[FW_JUMP]*: The *Firmware with Jump Address (FW_JUMP)* is described in more details in the file *fw_jump.md*. * *[FW_PAYLOAD]*: The *Firmware with Payload (FW_PAYLOAD)* is described in more details in the file *fw_payload.md*. [FW_DYNAMIC]: fw_dynamic.md +[FW_DYNAMIC_APPEND]: fw_dynamic_append.md [FW_JUMP]: fw_jump.md [FW_PAYLOAD]: fw_payload.md -- 2.43.7 -- opensbi mailing list [email protected] http://lists.infradead.org/mailman/listinfo/opensbi