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
     

25 Nov, 2013

1 commit


24 Jul, 2013

1 commit


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
     

27 Nov, 2012

2 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
     

22 Oct, 2012

1 commit

  • 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
     

16 Apr, 2011

1 commit


01 Apr, 2011

1 commit


23 Mar, 2011

1 commit

  • commit 8aba9dceebb14144e07d19593111ee3a999c37fc
    Divides variable of linker flags to LDFLAGS-u-boot and LDFLAGS

    breaks the usage of --gc-section to build nand_spl. We still need linker option
    --gc-section for every uboot image, not only the main one. LDFLAGS_FINAL passes
    the --gc-sections to each uboot image.

    To get the proper linker flags, we use LDFLAGS and LDFLAGS_FINAL to replace
    PLATFORM_LDFLAGS in the Makefile of each nand_spl board.

    Signed-off-by: Scott Wood
    Signed-off-by: Haiying Wang

    Haiying Wang
     

12 Nov, 2010

1 commit


19 Oct, 2010

1 commit

  • The change is currently needed to be able to remove the board
    configuration scripting from the top level Makefile and replace it by
    a simple, table driven script.

    Moving this configuration setting into the "CONFIG_*" name space is
    also desirable because it is needed if we ever should move forward to
    a Kconfig driven configuration system.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

22 Apr, 2010

1 commit

  • As discussed on the list, move "arch/ppc" to "arch/powerpc" to
    better match the Linux directory structure.

    Please note that this patch also changes the "ppc" target in
    MAKEALL to "powerpc" to match this new infrastructure. But "ppc"
    is kept as an alias for now, to not break compatibility with
    scripts using this name.

    Signed-off-by: Stefan Roese
    Acked-by: Wolfgang Denk
    Acked-by: Detlev Zundel
    Acked-by: Kim Phillips
    Cc: Peter Tyser
    Cc: Anatolij Gustschin

    Stefan Roese
     

13 Apr, 2010

3 commits


27 Oct, 2009

1 commit


30 Sep, 2009

1 commit

  • MPC8536E can support booting from NAND flash which uses the
    image u-boot-nand.bin. This image contains two parts: a 4K
    NAND loader and a main U-Boot image. The former is appended
    to the latter to produce u-boot-nand.bin. The 4K NAND loader
    includes the corresponding nand_spl directory, along with the
    code twisted by CONFIG_NAND_SPL. The main U-Boot image just
    like a general U-Boot image except the parts that included by
    CONFIG_SYS_RAMBOOT.

    When power on, eLBC will automatically load from bank 0 the
    4K NAND loader into the FCM buffer RAM where CPU can execute
    the boot code directly. In the first stage, the NAND loader
    copies itself to RAM or L2SRAM to free up the FCM buffer RAM,
    then loads the main image from NAND flash to RAM or L2SRAM
    and boot from it.

    This patch implements the NAND loader to load the main image
    into L2SRAM, so the main image can configure the RAM by using
    SPD EEPROM. In the first stage, the NAND loader copies itself
    to the second to last 4K address space, and uses the last 4K
    address space as the initial RAM for stack.

    Obviously, the size of L2SRAM shouldn't be less than the size
    of the image used. If so, the workaround is to generate another
    image that includes the code to configure the RAM by SPD and
    load it to L2SRAM first, then relocate the main image to RAM
    to boot up.

    Signed-off-by: Mingkai Hu
    Signed-off-by: Kumar Gala

    Mingkai Hu