[U-Boot] powerpc SPL framework: Avoiding relocate_code

Prabhakar Kushwaha prabhakar at freescale.com
Mon Sep 9 13:10:11 CEST 2013


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:

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?

Please advice.

Regards,
Prabhakar





More information about the U-Boot mailing list