[PATCH] spl: spl_legacy: Fix spl_end address for non ARM target
Tom Rini
trini at konsulko.com
Mon Jul 31 21:12:27 CEST 2023
On Tue, Aug 01, 2023 at 12:10:52AM +0800, Shiji Yang wrote:
> On Mon, 31 Jul 2023 16:17:39 +0200, Marek Vasut wrote:
> >On 7/31/23 13:57, Shiji Yang wrote:
> >> Only ARM target defines _image_binary_end symbol as char*, All other
> >> targets define it as an ulong type in include/asm-generic/sections.h.
> >>
> >> This patch fixes the boot failure on MIPS target. Error log:
> >> SPL: Image overlaps SPL
> >>
> >> Fixes: 1b8a1be1a1f1 ("spl: spl_legacy: Fix spl_end address")
> >> Signed-off-by: Shiji Yang <yangshiji66 at outlook.com>
> >> ---
> >> common/spl/spl_legacy.c | 6 +++++-
> >> 1 file changed, 5 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/common/spl/spl_legacy.c b/common/spl/spl_legacy.c
> >> index 095443c63d..0fef890384 100644
> >> --- a/common/spl/spl_legacy.c
> >> +++ b/common/spl/spl_legacy.c
> >> @@ -18,9 +18,13 @@
> >>
> >> static void spl_parse_legacy_validate(uintptr_t start, uintptr_t size)
> >> {
> >> + uintptr_t end = start + size;
> >> uintptr_t spl_start = (uintptr_t)_start;
> >> +#ifdef CONFIG_ARM
> >> uintptr_t spl_end = (uintptr_t)_image_binary_end;
> >> - uintptr_t end = start + size;
> >> +#else
> >> + uintptr_t spl_end = (uintptr_t)&_image_binary_end;
> >
> >I _think_ only this extra & should be enough and that should also work
> >on ARM, right ?
> >
> >[...]
>
> Hi! Thanks for your review. For ARM target, My understanding is that
> '&_image_binary_end' is a random value. '&_image_binary_end' is a
> pointer which points to the spl image end address. I think it's not
> okay for ARM target.
>
> I do not have any relevant ARM devices, so I can't test it.
OK, but why isn't the answer that _image_binary_end should be char for
everyone, and that it was simply mis-placed in the header to start with
(which is why it was then later added to the header for non-ARM)? Given
how everyone not-ARM treats it exactly like ARM does in linker scripts,
that seems the most likely case.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230731/6b8658ff/attachment.sig>
More information about the U-Boot
mailing list