x86: spl: Add a function to find the text base

It is useful to know the TEXT_BASE value for the image being loaded in
TPL/SPL. Add a new spl_get_image_text_base() function to handle this.

Make use of this in the x86 SPL handler, instead of having the logic
there.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Simon Glass 2021-01-24 10:06:03 -07:00 committed by Bin Meng
parent 6754393d26
commit 86c372af1a
2 changed files with 16 additions and 0 deletions

View File

@ -144,6 +144,12 @@ ulong spl_get_image_size(void)
binman_sym(ulong, u_boot_any, size);
}
ulong spl_get_image_text_base(void)
{
return spl_phase() == PHASE_TPL ? CONFIG_SPL_TEXT_BASE :
CONFIG_SYS_TEXT_BASE;
}
/*
* Weak default function for board specific cleanup/preparation before
* Linux boot. Some boards/platforms might not need it, so just provide

View File

@ -254,6 +254,16 @@ ulong spl_get_image_pos(void);
*/
ulong spl_get_image_size(void);
/**
* spl_get_image_text_base() - get the text base of the next phase
*
* This returns the address that the next stage is linked to run at, i.e.
* CONFIG_SPL_TEXT_BASE or CONFIG_SYS_TEXT_BASE
*
* @return text-base address
*/
ulong spl_get_image_text_base(void);
/**
* spl_load_simple_fit_skip_processing() - Hook to allow skipping the FIT
* image processing during spl_load_simple_fit().