From: Tom Rini <trini@konsulko.com>
To: Shiji Yang <yangshiji66@outlook.com>
Cc: festevam@denx.de, marex@denx.de, michael@amarulasolutions.com,
okamura.dai@socionext.com, rogerq@kernel.org, sjg@chromium.org,
u-boot@lists.denx.de
Subject: Re: [PATCH] spl: spl_legacy: Fix spl_end address for non ARM target
Date: Mon, 31 Jul 2023 22:37:24 -0400 [thread overview]
Message-ID: <20230801023724.GL3630934@bill-the-cat> (raw)
In-Reply-To: <TYAP286MB0315A7AA4930F822D6E496E1BC0AA@TYAP286MB0315.JPNP286.PROD.OUTLOOK.COM>
[-- Attachment #1: Type: text/plain, Size: 3126 bytes --]
On Tue, Aug 01, 2023 at 10:35:19AM +0800, Shiji Yang wrote:
> On Mon, 31 Jul 2023 15:12:27 -0400, Tom Rini wrote:
> > 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@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
>
> Importing variables from linker scripts is a littile magic to me.
> Based on my test, yes you are right. I can make MIPS target work
> again by converting '_image_binary_end' from ulong to char[] type.
> I'll try to cook some patches to convert all symbols in 'sections.h'
> to char[]. I believe this is the right way to fix some potential
> issues.
>
> If you want to do this work, please let me know. I am a newbie for
> u-boot. It seems that you are more familiar with the u-boot framework.
The only symbol I see for sure that needs to be changed is
'_image_binary_end' so if you'd like to have a go at converting that and
making a patch and running CI:
https://u-boot.readthedocs.io/en/latest/develop/ci_testing.html
I'd appreciate it, thanks!
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
next prev parent reply other threads:[~2023-08-01 2:37 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-31 11:57 [PATCH] spl: spl_legacy: Fix spl_end address for non ARM target Shiji Yang
2023-07-31 14:17 ` Marek Vasut
2023-07-31 16:10 ` Shiji Yang
2023-07-31 19:12 ` Tom Rini
2023-08-01 2:35 ` Shiji Yang
2023-08-01 2:37 ` Tom Rini [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-07-31 6:19 Shiji Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230801023724.GL3630934@bill-the-cat \
--to=trini@konsulko.com \
--cc=festevam@denx.de \
--cc=marex@denx.de \
--cc=michael@amarulasolutions.com \
--cc=okamura.dai@socionext.com \
--cc=rogerq@kernel.org \
--cc=sjg@chromium.org \
--cc=u-boot@lists.denx.de \
--cc=yangshiji66@outlook.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox