mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 07:04:28 +00:00
spl: riscv: add os type for next booting stage
If SPL_LOAD_FIT_OPENSBI_OS_BOOT is enabled, the function spl_invoke_opensbi should change the target OS type to IH_OS_LINUX. OpenSBI will load the Linux image as the next boot stage. The os_takes_devicetree function returns a value of true or false depending on whether or not SPL_LOAD_FIT_OPENSBI_OS_BOOT is enabled. Signed-off-by: Randolph <randolph@andestech.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
9421e41981
commit
58fa2a5aa1
2 changed files with 9 additions and 3 deletions
|
@ -367,7 +367,8 @@ static bool os_takes_devicetree(uint8_t os)
|
|||
case IH_OS_U_BOOT:
|
||||
return true;
|
||||
case IH_OS_LINUX:
|
||||
return IS_ENABLED(CONFIG_SPL_OS_BOOT);
|
||||
return IS_ENABLED(CONFIG_SPL_OS_BOOT) ||
|
||||
IS_ENABLED(CONFIG_SPL_OPENSBI);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -59,9 +59,14 @@ void __noreturn spl_invoke_opensbi(struct spl_image_info *spl_image)
|
|||
|
||||
/*
|
||||
* Find next os image in /fit-images
|
||||
* The next os image default is u-boot proper
|
||||
* The next os image default is u-boot proper, once enable
|
||||
* OpenSBI OS boot mode, the OS image should be linux.
|
||||
*/
|
||||
os_type = IH_OS_U_BOOT;
|
||||
if (CONFIG_IS_ENABLED(LOAD_FIT_OPENSBI_OS_BOOT))
|
||||
os_type = IH_OS_LINUX;
|
||||
else
|
||||
os_type = IH_OS_U_BOOT;
|
||||
|
||||
ret = spl_opensbi_find_os_node(spl_image->fdt_addr, &os_node, os_type);
|
||||
if (ret) {
|
||||
pr_err("Can't find %s node for opensbi, %d\n",
|
||||
|
|
Loading…
Reference in a new issue