26 Feb, 2014

1 commit


20 Feb, 2014

3 commits

  • Now we are ready to switch over to real Kbuild.

    This commit disables temporary scripts:
    scripts/{Makefile.build.tmp, Makefile.host.tmp}
    and enables real Kbuild scripts:
    scripts/{Makefile.build,Makefile.host,Makefile.lib}.

    This switch is triggered by the line in scripts/Kbuild.include
    -build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
    +build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj

    We need to adjust some build scripts for U-Boot.
    But smaller amount of modification is preferable.

    Additionally, we need to fix compiler flags which are
    locally added or removed.

    In Kbuild, it is not allowed to change CFLAGS locally.
    Instead, ccflags-y, asflags-y, cppflags-y,
    CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o
    are prepared for that purpose.

    Signed-off-by: Masahiro Yamada
    Tested-by: Gerhard Sittig

    Masahiro Yamada
     
  • This commit changes the working directory
    where the build process occurs.

    Before this commit, build process occurred under the source
    tree for both in-tree and out-of-tree build.

    That's why we needed to add $(obj) prefix to all generated
    files in makefiles like follows:
    $(obj)u-boot.bin: $(obj)u-boot

    Here, $(obj) is empty for in-tree build, whereas it points
    to the output directory for out-of-tree build.

    And our old build system changes the current working directory
    with "make -C " syntax when descending into the
    sub-directories.

    On the other hand, Kbuild uses a different idea
    to handle out-of-tree build and directory descending.

    The build process of Kbuild always occurs under the output tree.
    When "O=dir/to/store/output/files" is given, the build system
    changes the current working directory to that directory and
    restarts the make.

    Kbuild uses "make -f $(srctree)/scripts/Makefile.build obj="
    syntax for descending into sub-directories.
    (We can write it like "make $(obj)=" with a shorthand.)
    This means the current working directory is always the top
    of the output directory.

    Signed-off-by: Masahiro Yamada
    Tested-by: Gerhard Sittig

    Masahiro Yamada
     
  • Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

02 Dec, 2013

1 commit


26 Nov, 2013

2 commits


25 Nov, 2013

1 commit


15 Oct, 2013

1 commit


24 Jul, 2013

1 commit


21 Jun, 2013

1 commit


12 Apr, 2013

5 commits


19 Mar, 2013

1 commit

  • Albert's rework of the linker scripts conflicted with Simon's making
    everyone use __bss_end. We also had a minor conflict over
    README.scrapyard being added to in mainline and enhanced in
    u-boot-arm/master with proper formatting.

    Conflicts:
    arch/arm/cpu/ixp/u-boot.lds
    arch/arm/cpu/u-boot.lds
    arch/arm/lib/Makefile
    board/actux1/u-boot.lds
    board/actux2/u-boot.lds
    board/actux3/u-boot.lds
    board/dvlhost/u-boot.lds
    board/freescale/mx31ads/u-boot.lds
    doc/README.scrapyard
    include/configs/tegra-common.h

    Build tested for all of ARM and run-time tested on am335x_evm.

    Signed-off-by: Tom Rini

    Tom Rini
     

16 Mar, 2013

1 commit

  • Note this is a tree-wide change affecting multiple architectures.

    At present we use __bss_start, but mostly __bss_end__. This seems
    inconsistent and in a number of places __bss_end is used instead.

    Change to use __bss_end for the BSS end symbol throughout U-Boot. This
    makes it possible to use the asm-generic/sections.h file on all
    archs.

    Signed-off-by: Simon Glass

    Simon Glass
     

13 Mar, 2013

1 commit

  • Refactor linker-generated array code so that symbols
    which were previously linker-generated are now compiler-
    generated. This causes relocation records of type
    R_ARM_ABS32 to become R_ARM_RELATIVE, which makes
    code which uses LGA able to run before relocation as
    well as after.

    Note: this affects more than ARM targets, as linker-
    lists span possibly all target architectures, notably
    PowerPC.

    Conflicts:
    arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds
    arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds
    arch/arm/cpu/armv7/omap-common/u-boot-spl.lds
    board/ait/cam_enc_4xx/u-boot-spl.lds
    board/davinci/da8xxevm/u-boot-spl-da850evm.lds
    board/davinci/da8xxevm/u-boot-spl-hawk.lds
    board/vpac270/u-boot-spl.lds

    Signed-off-by: Albert ARIBAUD

    Albert ARIBAUD
     

17 Jan, 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
     

20 Dec, 2012

2 commits


10 Dec, 2012

1 commit


28 Nov, 2012

1 commit

  • There were a number of shared files that were using
    CONFIG_SYS_MPC85xx_DDR_ADDR, or CONFIG_SYS_MPC86xx_DDR_ADDR, and
    several variants (DDR2, DDR3). A recent patchset added
    85xx-specific ones to code which was used by 86xx systems.
    After reviewing places where these constants were used, and
    noting that the type definitions of the pointers assigned to
    point to those addresses were the same, the cleanest approach
    to fixing this problem was to unify the namespace for the
    85xx, 83xx, and 86xx DDR address definitions.

    This patch does:

    s/CONFIG_SYS_MPC8.xx_DDR/CONFIG_SYS_MPC8xxx_DDR/g

    All 85xx, 86xx, and 83xx have been built with this change.

    Signed-off-by: Andy Fleming
    Tested-by: Andy Fleming
    Acked-by: Kim Phillips

    Andy Fleming
     

27 Nov, 2012

4 commits


14 Nov, 2012

1 commit

  • Commit 97b24d3d51a92cb8c0c1e1a74abf22fe1a1807a3 "common: Add symbol
    handling for generic lists into Makefile" introduced build errors in many
    nand_spl targets, complaining of a missing u-boot.lst. When not doing an
    out-of-tree build, $(obj) expands to nothing, so GCC ended up being given
    -I with no argument (or rather, -ansi was the argument). The failure
    didn't show up during a -j1 build because it was picking up the non-SPL
    version of u-boot.lst.

    Signed-off-by: Scott Wood

    Scott Wood
     

10 Nov, 2012

1 commit


26 Oct, 2012

1 commit


22 Oct, 2012

3 commits

  • The command declaration now uses the new LG-array method to generate
    list of commands. Thus the __u_boot_cmd section is now superseded and
    redundant and therefore can be removed. Also, remove externed symbols
    associated with this section from include/command.h .

    Signed-off-by: Marek Vasut
    Cc: Joe Hershberger
    Cc: Mike Frysinger

    Marek Vasut
     
  • Add section for the linker-generated lists into all possible linker
    files, so that everyone can easily use these lists. This is mostly
    a mechanical adjustment.

    Signed-off-by: Marek Vasut
    Cc: Joe Hershberger
    Cc: Mike Frysinger

    Marek Vasut
     
  • This patch adds essential components for generation of the contents of
    the linker section that is used by the linker-generated array. All of
    the contents is held in a separate file, u-boot.lst, which is generated
    at runtime just before U-Boot is linked.

    The purpose of this code is to especially generate the appropriate
    boundary symbols around each subsection in the section carrying the
    linker-generated arrays. Obviously, the interim linker code for actual
    placement of the variables into the section is generated too. The
    generated file, u-boot.lst, is included into u-boot.lds via the linker
    INCLUDE directive in u-boot.lds .

    Adjustments are made in the Makefile and spl/Makefile so that the
    u-boot.lds and u-boot-spl.lds depend on their respective .lst files.

    Signed-off-by: Marek Vasut
    Cc: Joe Hershberger
    Cc: Mike Frysinger
    Acked-by: Joe Hershberger
    Tested-by: Joe Hershberger

    Marek Vasut
     

26 Sep, 2012

1 commit


18 Sep, 2012

4 commits