24 Jul, 2013

1 commit


09 Jan, 2013

1 commit

  • Move all the C runtime setup code from every start.S
    in arch/arm into arch/arm/lib/crt0.S. This covers
    the code sequence from setting up the initial stack
    to calling into board_init_r().

    Also, rewrite the C runtime setup and make functions
    board_init_*() and relocate_code() behave according to
    normal C semantics (no jumping across the C stack any
    more, etc).

    Some SPL targets had to be touched because they use
    start.S explicitly or for some reason; the relevant
    maintainers and custodians are cc:ed.

    Signed-off-by: Albert ARIBAUD

    Albert ARIBAUD
     

18 Jan, 2011

1 commit


10 Jan, 2011

1 commit


27 Oct, 2010

2 commits

  • CONFIG_SYS_GBL_DATA_SIZE has always been just a bad workarond for not
    being able to use "sizeof(struct global_data)" in assembler files.
    Recent experience has shown that manual synchronization is not
    reliable enough. This patch renames CONFIG_SYS_GBL_DATA_SIZE into
    GENERATED_GBL_DATA_SIZE which gets automatically generated by the
    asm-offsets tool. In the result, all definitions of this value can be
    deleted from the board config files. We have to make sure that all
    files that reference such data include the new file.

    No other changes have been done yet, but it is obvious that similar
    changes / simplifications can be done for other, related macro
    definitions as well.

    Signed-off-by: Wolfgang Denk
    Acked-by: Kumar Gala

    Wolfgang Denk
     
  • A recurrent issue is that certain C level constructs like sizeof() or
    offsetof() cannot be used in assembler files, which is inconvenient
    when such constructs are used in the definition of macro names etc.

    To avoid duplication of such definitions (and thus another cause of
    problems), we adapt the Linux way to automatically generate the
    respective definitions from the respective C header files.

    In Linux, this is implemented in include/linux/kbuild.h, Kbuild, and
    arch/*/kernel/asm-offsets.c; we adapt the code from the Linux v2.6.36
    kernel tree.

    We also copy the concept of the include/generated/ directory which can
    be used to hold other automatically generated files as well.

    We start with an architecture-independent lib/asm-offsets.c which
    generates include/generated/generic-asm-offsets.h (included by
    include/asm-offsets.h, which is what will be referred to in the actual
    source code). Later this may be extended by architecture-specific
    arch/*/lib/asm-offsets.c files that will generate a
    include/generated/asm-offsets.h.

    Signed-off-by: Wolfgang Denk
    Acked-by: Kumar Gala

    Wolfgang Denk