firmware: Add fw_dynamic firmware
authorAnup Patel <anup.patel@wdc.com>
Mon, 29 Apr 2019 06:25:19 +0000 (11:55 +0530)
committerAnup Patel <anup@brainfault.org>
Fri, 10 May 2019 06:56:22 +0000 (12:26 +0530)
commitbae54f764570f3fa5c592f313b45352d9f6f1d8a
treecca8ebe4dd67ceb9e4ffa5c1e32e6027241a41dc
parent25472de89ee3b98cd466f69d1f419f943dcbcb0f
firmware: Add fw_dynamic firmware

This patch provides first-cut implementation of fw_dynamic firmware.

As compared to fw_jump and fw_payload, the fw_dynamic obtains next
address, next mode and OpenSBI options from struct fw_dynamic_info.

The previous booting stage can create struct fw_dynamic_info in memory
and pass address of struct fw_dynamic_info in 'a2' register. Also, the
struct fw_dynamic_info has versioning as well so changes to the struct
fw_dynamic_info can be done in a backward compatible manner.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
firmware/fw_dynamic.S [new file with mode: 0644]
firmware/fw_dynamic.elf.ldS [new file with mode: 0644]
firmware/objects.mk
include/sbi/fw_dynamic.h [new file with mode: 0644]