[PATCH] Load PBL into SRAM

David Vincent freesilicon at gmail.com
Tue Feb 4 02:49:55 EST 2014


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.

>
> --
> 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