Hi, On Wed, 11 Oct 2023 at 21:28, Sean Anderson <[email protected]> wrote: > > On 10/11/23 23:41, Simon Glass wrote: > > On Wed, 11 Oct 2023 at 18:56, Sean Anderson <[email protected]> wrote: > >> > >> The entry point is not always the same as the load address. Use the value > >> of the entrypoint property if it exists and is nonzero (following the > >> example of spl_load_simple_fit). > >> > >> Fixes: 8a9dc16e4d0 ("spl: Add full fitImage support") > >> Signed-off-by: Sean Anderson <[email protected]> > >> --- > >> > >> common/spl/spl_fit.c | 4 +++- > >> 1 file changed, 3 insertions(+), 1 deletion(-) > > > > Reviewed-by: Simon Glass <[email protected]> > > > > The check for 0 makes me uneasy, but I can't imagine it being valid in > > practice. > > This is mostly to match spl_load_simple_fit: > > /* > * If a platform does not provide CONFIG_SYS_UBOOT_START, U-Boot's > * Makefile will set it to 0 and it will end up as the entry point > * here. What it actually means is: use the load address. > */ > > SYS_UBOOT_START doesn't seem to be set very often and defaults to TEXT_BASE. > That > appears to be undefined on > > efi-x86_app64 efi-x86_app32 xtfpga 3c120 10m50 > > but none of these platforms define SPL_LOAD_FIT. So maybe this is moot?
Yes, it should be fine. Regards, Simon > > --Sean > > > > >> > >> diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c > >> index ce6b8aa370a..e3cdf8e5c05 100644 > >> --- a/common/spl/spl_fit.c > >> +++ b/common/spl/spl_fit.c > >> @@ -884,8 +884,10 @@ int spl_load_fit_image(struct spl_image_info > >> *spl_image, > >> return ret; > >> > >> spl_image->size = fw_len; > >> - spl_image->entry_point = fw_data; > >> spl_image->load_addr = fw_data; > >> + if (fit_image_get_entry(header, ret, &spl_image->entry_point) || > >> + !spl_image->entry_point) > >> + spl_image->entry_point = fw_data; > >> if (fit_image_get_os(header, ret, &spl_image->os)) > >> spl_image->os = IH_OS_INVALID; > >> spl_image->name = genimg_get_os_name(spl_image->os); > >> -- > >> 2.37.1 > >> >

