From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 1/2] arm: move C runtime setup code in crt0.S
Date: Thu, 15 Nov 2012 23:41:07 +0100 [thread overview]
Message-ID: <20121115234107.54c1409d@lilith> (raw)
In-Reply-To: <CAPnjgZ2YGRrg-9q0WWAXdvi6P_fPN91Yh6vPuS6AvgUDqB+kiA@mail.gmail.com>
Hi Simon,
On Thu, 15 Nov 2012 11:35:27 -0800, Simon Glass <sjg@chromium.org>
wrote:
> Hi Albert,
>
> On Sat, Nov 10, 2012 at 9:00 AM, Albert ARIBAUD
> <albert.u.boot@aribaud.net> wrote:
> > Move all the C runtime setup code from every start.S
> > in arch/arm into arch/arm/lib/crt0.S. This covers
> > the code sequence from isetting up the initial stack
> > to calling into board_init_r().
> >
> > Also, rewrite the C runtime setup and make functions
> > board_init_*() and relocate_code() behave according to
> > normal C semantics (no jumping across the C stack any
> > more, etc).
> >
> > Some SPL targets had to be touched because they use
> > start.S exolicitly or for some reason; the relevant
> > maintainers and custodians are cc:ed.
> >
> > Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
>
> I am very pleased to see this. My generic relocation series from some
> time ago is still hanging around. Your series tidies up some things
> which would make that series easier to do. I'm happy to take another
> look at it.
I do remember your series -- it is part of what gave me the incentive
toput this patch series together. :)
> I have tested your series on a Tegra seaboard, and got it running with
> a few changes. Please see comments below.
> > + ldr r0, =__bss_start /* this is auto-relocated! */
> > + ldr r1, =__bss_end__ /* this is auto-relocated! */
>
> I noticed this last time around - really we should have __bss_end__,
> not __bss_end. Something to look at in future work, perhaps.
Noted.
> > + bhs clbss_l
>
> I think this should be blo, not bhs. Otherwise the BSS does not get
> cleared and my seaboard doesn't boot properly.
Thanks -- not the first time I see these... I'll have a go at checking
all loops.
> > + /* call board_init_r */
> > + ldr pc, _board_init_r /* this is auto-relocated! */
>
> For my toolchain I need:
>
> ldr pc, =board_init_r
>
> otherwise I get:
>
> crt0.S: Assembler messages:
> crt0.S:176: Error: internal_relocation (type: OFFSET_IMM) not fixed up
Thanks -- this could well cure errors that Tom Warren reported to me
for various toolchains.
> Also _board_init_r seems to be the wrong symbol name for me:
>
> arch/arm/lib/libarm.o: In function `clbss_l':
> /home/sjg/trunk/src/third_party/u-boot/files/arch/arm/lib/crt0.S:176:
> undefined reference to `_board_init_r'
Thanks a lot for the feedback and analysis! This should make V4 work on
a much wider range of ARM boards.
> Regards,
> Simon
Amicalement,
--
Albert.
next prev parent reply other threads:[~2012-11-15 22:41 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-04 3:57 [U-Boot] [PATCH v1 0/1] Factorize ARM startup code as mush as possible Albert ARIBAUD
2012-11-04 3:57 ` [U-Boot] [PATCH v1] arm: move generic startup code in crt0.S Albert ARIBAUD
2012-11-04 7:29 ` Wolfgang Denk
2012-11-04 8:36 ` Albert ARIBAUD
2012-11-04 11:32 ` [U-Boot] [PATCH v2 0/2] Factorize ARM startup code as mush as possible Albert ARIBAUD
2012-11-04 11:32 ` [U-Boot] [PATCH v2 1/2] arm: move C runtime setup code in crt0.S Albert ARIBAUD
2012-11-04 11:32 ` [U-Boot] [PATCH v2 2/2] arm: remove useless code in start.S files Albert ARIBAUD
2012-11-04 11:34 ` [U-Boot] [PATCH v2 1/2] arm: move C runtime setup code in crt0.S Albert ARIBAUD
2012-11-04 15:06 ` Vikram Narayanan
2012-11-04 18:01 ` Albert ARIBAUD
2012-11-05 8:31 ` Andreas Bießmann
2012-11-10 16:48 ` Albert ARIBAUD
2012-11-10 16:53 ` Albert ARIBAUD
2012-11-04 11:43 ` [U-Boot] [PATCH v2 0/2] Factorize ARM startup code as mush as possible Albert ARIBAUD
2012-11-04 17:38 ` Tom Rini
2012-11-05 7:39 ` Sughosh Ganu
2012-11-08 14:20 ` Sughosh Ganu
2012-11-10 14:30 ` Albert ARIBAUD
2012-11-13 4:10 ` Sughosh Ganu
2012-11-13 19:55 ` Albert ARIBAUD
2012-12-09 20:31 ` Sughosh Ganu
2012-11-10 17:00 ` [U-Boot] [PATCH v3 " Albert ARIBAUD
2012-11-10 17:00 ` [U-Boot] [PATCH v3 1/2] arm: move C runtime setup code in crt0.S Albert ARIBAUD
2012-11-10 17:00 ` [U-Boot] [PATCH v3 2/2] arm: remove useless code in start.S files Albert ARIBAUD
2012-11-15 19:35 ` [U-Boot] [PATCH v3 1/2] arm: move C runtime setup code in crt0.S Simon Glass
2012-11-15 22:41 ` Albert ARIBAUD [this message]
2012-11-10 17:28 ` [U-Boot] [PATCH v3 0/2] Factorize ARM startup code as mush as possible Albert ARIBAUD
2012-11-27 12:43 ` [U-Boot] [PATCH v4 " Albert ARIBAUD
2012-11-27 12:43 ` [U-Boot] [PATCH v4 1/2] arm: move C runtime setup code in crt0.S Albert ARIBAUD
2012-11-27 12:43 ` [U-Boot] [PATCH v4 2/2] arm: remove useless code in start.S files Albert ARIBAUD
2013-01-07 14:41 ` Tom Rini
2012-11-28 21:18 ` [U-Boot] [PATCH v4 1/2] arm: move C runtime setup code in crt0.S Simon Glass
2012-11-28 22:34 ` Albert ARIBAUD
2012-11-30 22:10 ` Simon Glass
2012-12-23 15:03 ` Albert ARIBAUD
2012-12-26 20:41 ` Simon Glass
2013-01-05 1:00 ` Simon Glass
2012-12-09 20:33 ` Sughosh Ganu
2013-01-07 14:40 ` Tom Rini
2013-01-08 19:26 ` Tom Rini
2013-01-08 19:50 ` Albert ARIBAUD
2013-01-08 20:18 ` [U-Boot] [PATCH v5 0/2] Factorize ARM startup code as much as possible Albert ARIBAUD
2013-01-08 20:18 ` [U-Boot] [PATCH v5 1/2] arm: move C runtime setup code in crt0.S Albert ARIBAUD
2013-01-08 20:18 ` [U-Boot] [PATCH v5 2/2] arm: remove useless code in start.S files Albert ARIBAUD
2013-01-08 21:16 ` [U-Boot] [PATCH v5 0/2] Factorize ARM startup code as much as possible Albert ARIBAUD
2012-12-27 11:27 ` [U-Boot] [PATCH v4 0/2] Factorize ARM startup code as mush " Albert ARIBAUD
2013-01-08 17:20 ` Albert ARIBAUD
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=20121115234107.54c1409d@lilith \
--to=albert.u.boot@aribaud.net \
--cc=u-boot@lists.denx.de \
/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