[PATCH] Load PBL into SRAM

Sascha Hauer s.hauer at pengutronix.de
Wed Feb 5 03:00:01 EST 2014


On Tue, Feb 04, 2014 at 08:49:55AM +0100, David Vincent wrote:
> 2014-02-04 Sascha Hauer <s.hauer at pengutronix.de>:
> > On Tue, Feb 04, 2014 at 04:56:25AM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >> On 10:06 Fri 31 Jan     , David Vincent wrote:
> >> > This allows to load all the lowlevel init code, including the
> >> > uncompressor, inside SRAM and not just the bare init part. This is
> >> > useful when pbl is used as a first-stage bootloader but is loaded by an
> >> > external firmware.
> >> >
> >> > Signed-off-by: David Vincent <freesilicon at gmail.com>
> >> > ---
> >> >  arch/arm/lib/pbl.lds.S            |    4 ++--
> >> >  common/Kconfig                    |   16 ++++++++++++++--
> >> >  include/asm-generic/barebox.lds.h |   14 +++++++++++++-
> >> >  pbl/Kconfig                       |    7 +++++++
> >> >  4 files changed, 36 insertions(+), 5 deletions(-)
> >> >
> >> > diff --git a/arch/arm/lib/pbl.lds.S b/arch/arm/lib/pbl.lds.S
> >> > index 0954c89..34c0cb3 100644
> >> > --- a/arch/arm/lib/pbl.lds.S
> >> > +++ b/arch/arm/lib/pbl.lds.S
> >> > @@ -50,11 +50,11 @@ SECTIONS
> >> >             *(.text*)
> >> >     }
> >> >
> >> > +   BAREBOX_PBL_SIZE
> >> > +
> >> >     /* Discard unwind if enable in barebox */
> >> >     /DISCARD/ : { *(.ARM.ex*) }
> >> >
> >> > -   BAREBOX_BARE_INIT_SIZE
> >> > -
> >>
> >> nack you change the binary format you can add an information but can not
> >> change the format
> >
> > I don't think the format is changed here. It shouldn't matter where the
> > /DISCARD/ is, right? Nevertheless the patch looks more obvious if just
> > the line is changed, not its position.
> >
> >> >  #include <linux/stringify.h>
> >> >  /* use 2 ASSERT because ld can not accept '"size" "10"' format */
> >> >  #define BAREBOX_BARE_INIT_SIZE                                     \
> >> >     _barebox_bare_init_size = __bare_init_end - _text;      \
> >> >     ASSERT(_barebox_bare_init_size < MAX_BARE_INIT_SIZE, "Barebox bare_init size > ") \
> >> > -   ASSERT(_barebox_bare_init_size < MAX_BARE_INIT_SIZE, __stringify(MAX_BARE_INIT_SIZE)) \
> >> > +   ASSERT(_barebox_bare_init_size < MAX_BARE_INIT_SIZE, __stringify(MAX_BARE_INIT_SIZE))
> >> different patch
> >
> > This just removes the trailing '\' which is necessary here.
> 
> It isn't obvious for me why the trailing '\' is necessary but you know
> better than me so I will put it back and add one on the next
> definition.

I wasn't clear. What I meant is that it's necessary to remove the
whitespace. But as said, I misread the patch anyway.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list