27 Jan, 2014

1 commit

  • This is only required for "PIC" relocation and doesn't apply to modern
    "PIE" relocation which does data relocation as well as code.

    "init_sequence_r" is just an array that consists of compile-time
    adresses of init functions. Since this is basically an array of integers
    (pointers to "void" to be more precise) it won't be modified during
    relocation - it will be just copied to new location as it is.

    As a consequence on execution after relocation "initcall_run_list" will
    be jumping to pre-relocation addresses. As long as we don't overwrite
    pre-relocation memory area init calls are executed correctly. But still
    it is dangerous because after relocation we don't expect initially used
    memory to stay untouched.

    Cc: Tom Rini
    Cc: Masahiro Yamada
    Cc: Doug Anderson
    Cc: Thomas Langer
    Cc: Albert ARIBAUD
    Acked-by: Simon Glass
    Signed-off-by: Alexey Brodkin

    Alexey Brodkin
     

24 Jul, 2013

1 commit


26 Jun, 2013

1 commit

  • Add hooks for tracing to generic board, including:

    - allow early tracing to start early as possible in U-Boot
    - reserve memory for trace buffer
    - copy early trace buffer to main trace buffer after relocation
    - setup full tracing support after relocation

    Signed-off-by: Simon Glass

    Simon Glass
     

08 Jun, 2013

1 commit

  • This commit refactors common/board_f.c and common/board_r.c
    in order to delete the dest_addr and dest_addr_sp from
    gd_t struct.

    As mentioned as follows in include/asm-generic/global_data.h,

    /* TODO: is this the same as relocaddr, or something else? */
    unsigned long dest_addr; /* Post-relocation address of U-Boot */

    dest_addr is the same as relocaddr.
    Likewise, dest_addr_sp is the same as start_addr_sp.

    It seemed dest_addr/dest_addr_sp was used only as a scratch variable
    to calculate relocaddr/start_addr_sp, respectively.

    With a little refactoring, we can delete dest_addr and dest_addr_sp.

    Signed-off-by: Masahiro Yamada
    Cc: Simon Glass

    Masahiro Yamada
     

14 May, 2013

1 commit


01 May, 2013

1 commit


16 Apr, 2013

1 commit

  • Currently x86 has its own means of managing the global data and board data
    (bd_t), and this code resides in start.S. With generic board, we need to
    ensure that we leave this alone - i.e. don't clear it as we do on other
    archs.

    This fixes a problem where the memory init data is cleared which causes
    the video driver to operate very slowly.

    Signed-off-by: Simon Glass

    Simon Glass
     

16 Mar, 2013

4 commits