aboutsummaryrefslogtreecommitdiff
path: root/common/image.c
diff options
context:
space:
mode:
authorLukas Auer <lukas.auer@aisec.fraunhofer.de>2019-08-21 21:14:44 +0200
committerAndes <uboot@andestech.com>2019-08-26 16:07:42 +0800
commit5e30e45c83264841018dc8135034426fd0c0f857 (patch)
tree87054cf4d9db17ca06e610b6325c8a6138d5c29c /common/image.c
parentfbfd92bf9bdc39d6537806ab58a83a48e5a2c004 (diff)
downloadu-boot-5e30e45c83264841018dc8135034426fd0c0f857.zip
u-boot-5e30e45c83264841018dc8135034426fd0c0f857.tar.gz
u-boot-5e30e45c83264841018dc8135034426fd0c0f857.tar.bz2
spl: support booting via RISC-V OpenSBI
RISC-V OpenSBI is an open-source implementation of the RISC-V Supervisor Binary Interface (SBI) specification. It is required by Linux and U-Boot running in supervisor mode. This patch adds support for booting via the OpenSBI FW_DYNAMIC firmware. It supports OpenSBI version 0.4 and higher. In this configuration, U-Boot SPL starts in machine mode. After loading OpenSBI and U-Boot proper, it will start OpenSBI. All necessary parameters are generated by U-Boot SPL and are passed to OpenSBI. U-Boot proper is started in supervisor mode by OpenSBI. Support for OpenSBI is enabled with CONFIG_SPL_OPENSBI. An additional configuration entry, CONFIG_SPL_OPENSBI_LOAD_ADDR, is used to specify the load address of the OpenSBI firmware binary. It is not used directly in U-Boot and instead is intended to make the value available to scripts such as FIT configuration generators. The header file include/opensbi.h is based on header files from the OpenSBI project. They are recent, as of commit bae54f764570 ("firmware: Add fw_dynamic firmware"). Signed-off-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Anup Patel <anup.patel@wdc.com>
Diffstat (limited to 'common/image.c')
-rw-r--r--common/image.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/common/image.c b/common/image.c
index 84e859a..645584b 100644
--- a/common/image.c
+++ b/common/image.c
@@ -132,6 +132,7 @@ static const table_entry_t uimage_os[] = {
#if defined(CONFIG_BOOTM_OPENRTOS) || defined(USE_HOSTCC)
{ IH_OS_OPENRTOS, "openrtos", "OpenRTOS", },
#endif
+ { IH_OS_OPENSBI, "opensbi", "RISC-V OpenSBI", },
{ -1, "", "", },
};