[U-Boot] powerpc SPL framework: Avoiding relocate_code

Scott Wood scottwood at freescale.com
Mon Sep 16 22:46:55 CEST 2013


On Fri, 2013-09-13 at 15:23 +0530, Prabhakar Kushwaha wrote:
> On 09/12/2013 11:28 PM, Scott Wood wrote:
> > On Mon, 2013-09-09 at 16:43 +0530, Prabhakar Kushwaha wrote:
> >> Hi,
> >>
> >>    SPL framework is used to support multi-stage booting.  Where first
> >> level boot loader is created via SPL having relocate_code() function.
> >> I am working on a Freescale's SoC which has less internal SRAM.
> >> I don't want to use relocate_code() as to support this function, I need
> >> to reduce SPL bin  to SRAM/2 size.
> >>
> >> is there way to avoid relocate_code function ?
> >>
> >> I tried with below sequence, but it is not working for me :(
> >>
> >>       .globl    relocate_code
> >> relocate_code:
> >>       mr    r1,r3        /* Set new stack pointer        */
> >>       mr    r9,r4        /* Save copy of Init Data pointer    */
> >>       mr    r10,r5        /* Save copy of Destination Address    */
> >>
> >>       GET_GOT
> >> #ifndef CONFIG_SPL_BUILD
> >>
> >> --
> >> --
> >> #endif
> >>       .globl    in_ram
> >> in_ram:
> > Well, you certainly don't want to disable it for all SPLs...
> 
> it should be disabled for those SPL which relocate itself in SRAM, for 
> other no

Hmm?  Any SPL that does relocate itself would need this.

> >> The reason is bss "variables" which are mapped to 0x0000_0000 onwards
> >> because "bss"section are mapped after 0xfffffffc in lds. They are not
> >> available during SPL execution.  is there way to relocate bss section in
> >> the execution range of SPL?
> > Are you talking about a scenario in which the SPL is loaded into SRAM
> > rather than (e.g.) the NAND buffer?  In that case, why is U-Boot not
> > linked at the actual SRAM address?  No copy should be needed in that
> > case, and the BSS will not be at zero.
> 
> I am linking SPL with the address of SRAM as I want resetvec at 
> 0xfffffffc but  still I am finding bss at 0x0

What address do we start at when PBI loads something into SRAM?

-Scott





More information about the U-Boot mailing list