Skip to content
Snippets Groups Projects
  1. Sep 16, 2014
  2. May 23, 2014
  3. Apr 17, 2014
  4. Mar 07, 2014
    • Masahiro Yamada's avatar
      powerpc: mpc8260: consolidate CONFIG_MPC8260 and CONFIG_8260 · 58dac327
      Masahiro Yamada authored
      
      Before this commit, CONFIG_MPC8260 and CONFIG_8260
      were used mixed-up.
      
      All boards with mpc8260 cpu defined both of them:
        - CONFIG_MPC8260 was defined in board config headers
            and include/common.h
        - CONFIG_8260 was defined arch/powerpc/cpu/mpc8260/config.mk
      
      We do not need to have both of them.
      This commit keeps only CONFIG_MPC8260.
      
      This commit does:
       - Delete CONFIG_8260 and CONFIG_MPC8260 definition
         in config headers and include/common.h
       - Rename CONFIG_8260 to CONFIG_MPC8260
          in arch/powerpc/cpu/mpc8260/config.mk.
       - Rename #ifdef CONFIG_8260 to #ifdef CONFIG_MPC8260
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Cc: Wolfgang Denk <wd@denx.de>
      58dac327
    • Masahiro Yamada's avatar
      kbuild: improve Kbuild speed · 026f9cf2
      Masahiro Yamada authored
      
      Kbuild brought about many advantages for us but a significant
      performance regression was reported by Simon Glass.
      
      After some discussions and analysis, it turned out
      its main cause is in $(call cc-option,...).
      
      Historically, U-Boot parses all config.mk
      (arch/*/config.mk and board/*/config.mk)
      every time descending into subdirectories.
      That means cc-options are evaluated over and over again.
      
      $(call cc-option,...) is useful but costly.
      So we want to evaluate them only in ./Makefile
      and spl/Makefile and export compiler flags.
      
      This commit changes the build system as follows:
      
        - Modify scripts/Makefile.build to not include config.mk
          Instead, add $(PLATFORM_CPPFLAGS) to asflags-y, ccflags-y,
          cppflags-y.
      
        - Export many variables
          Going forward, Kbuild will not parse config.mk files
          when it descends into subdirectories.
          If we want to set variables in config.mk and use them
          in subdirectories, they must be exported.
      
          This is the list of variables to get exported:
            PLATFORM_CPPFLAGS
            CPUDIR
            BOARDDIR
            OBJCOPYFLAGS
            LDFLAGS
            LDFLAGS_FINAL
              (used in nand_spl/board/*/*/Makefile)
            CONFIG_STANDALONE_LOAD_ADDR
              (used in examples/standalone/Makefile)
            SYM_PREFIX
              (used in examples/standalone/Makefile)
            RELFLAGS
              (used in examples/standalone/Makefile)
      
        - Delete CPPFLAGS
          This variable has been replaced with PLATFORM_CPPFLAGS
      
        - Copy gcclibdir from example/standalone/Makefile
          to arch/sparc/config.mk
          The reference in CONFIG_STANDALONE_LOAD_ADDR must be
          resolved before it is exported.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Reported-by: default avatarSimon Glass <sjg@chromium.org>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      Tested-by: Simon Glass <sjg@chromium.org> [on Sandbox]
      Tested-by: Stephen Warren <swarren@nvidia.com> [on Tegra]
      026f9cf2
  5. Feb 25, 2014
  6. Feb 19, 2014
    • Masahiro Yamada's avatar
    • Masahiro Yamada's avatar
      kbuild: use Linux Kernel build scripts · 6825a95b
      Masahiro Yamada authored
      
      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: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Tested-by: default avatarGerhard Sittig <gsi@denx.de>
      6825a95b
    • Masahiro Yamada's avatar
      kbuild: change out-of-tree build · 9e414032
      Masahiro Yamada authored
      
      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 <sub-dir>" 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=<sub-dir>"
      syntax for descending into sub-directories.
      (We can write it like "make $(obj)=<sub-dir>" with a shorthand.)
      This means the current working directory is always the top
      of the output directory.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Tested-by: default avatarGerhard Sittig <gsi@denx.de>
      9e414032
    • Masahiro Yamada's avatar
      Makefile: move some flags to examples makefiles · d9580025
      Masahiro Yamada authored
      
      This commit moves some flags which are used
      under examples/ directory only.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      d9580025
    • Masahiro Yamada's avatar
      Makfile: move suffix rules to Makefile.build · 5651ccff
      Masahiro Yamada authored
      
      This commit moves suffix rules from config.mk
      to scripts/Makefile.build, which will allow us
      to switch smoothly to real Kbuild.
      
      Note1:
      post/lib_powerpc/fpu/Makefile has
      its own rule to compile C sources.
      We need to tweak it to keep the same behavior.
      
      Note2:
      There are two file2 with the same name:
      arch/arm/lib/crt0.S and eamples/api/crt0.S.
      To keep the same build behavior,
      examples/api/Makefile also has to be treaked.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      5651ccff
    • Masahiro Yamada's avatar
      4a20df39
  7. Feb 07, 2014
  8. Jan 09, 2014
  9. Dec 16, 2013
  10. Dec 12, 2013
    • Jeroen Hofstee's avatar
      ARM: fix the standalone programs · a5a42eec
      Jeroen Hofstee authored
      
      The standalone programs do not use the api calls, but rely
      directly on u-boot variable gd->jt for the jump table. Commit
      fe1378a9 - "ARM: use r9 for gd" changed the register holding
      the address of gd, but the assembly code in the standalone
      examples was not updated accordingly. This broke the programs
      on ARM relying on the jumptable in the v2013.10 release.
      This patch unbricks them by using the correct register.
      
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
      Signed-off-by: default avatarJeroen Hofstee <jeroen@myspectrum.nl>
      a5a42eec
  11. Nov 25, 2013
  12. Nov 15, 2013
  13. Nov 08, 2013
  14. Nov 04, 2013
  15. Sep 20, 2013
  16. Sep 12, 2013
    • Tom Rini's avatar
      Revert "standalone-examples: support custom GCC lib" · 8386ca8b
      Tom Rini authored
      
      After further testing, this patch has two problems.  First,
      examples/standalone/Makefile was already inherting PLATFORM_LIBS from
      the top-level Makefile so this lead to duplicating the private libgcc.
      Second, currently the private libgcc has a reference to 'hang' that is
      not being fulfilled.
      
      This reverts commit 4412db46.
      
      Signed-off-by: default avatarTom Rini <trini@ti.com>
      8386ca8b
  17. Sep 06, 2013
  18. Jul 24, 2013
  19. Jun 11, 2013
  20. Mar 15, 2013
  21. Feb 04, 2013
  22. Oct 22, 2012
  23. Oct 16, 2012
    • Zhi-zhou Zhang's avatar
      MIPS: add board qemu-mips64 support · 32afad78
      Zhi-zhou Zhang authored
      
      Both big-endian and little-endian are tested with below commands:
      Rom version: (Default, Now we config it as rom version)
      qemu-system-mips64el -M mips -bios u-boot.bin -cpu MIPS64R2-generic -nographic
      qemu-system-mips64 -M mips -bios u-boot.bin -cpu MIPS64R2-generic -nographic
      Ram version:
      qemu-system-mips64el -M mips -cpu MIPS64R2-generic -kernel u-boot -nographic
      qemu-system-mips64 -M mips -cpu MIPS64R2-generic -kernel u-boot -nographic
      
      Signed-off-by: default avatarZhizhou Zhang <etou.zh@gmail.com>
      Signed-off-by: default avatarDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
      32afad78
  24. Mar 26, 2012
  25. Jan 13, 2012
  26. Dec 06, 2011
  27. Nov 15, 2011
  28. Nov 03, 2011
    • Wolfgang Denk's avatar
      Reduce build times · cca4e4ae
      Wolfgang Denk authored
      
      U-Boot Makefiles contain a number of tests for compiler features etc.
      which so far are executed again and again.  On some architectures
      (especially ARM) this results in a large number of calls to gcc.
      
      This patch makes sure to run such tests only once, thus largely
      reducing the number of "execve" system calls.
      
      Example: number of "execve" system calls for building the "P2020DS"
      (Power Architecture) and "qong" (ARM) boards, measured as:
      	-> strace -f -e trace=execve -o /tmp/foo ./MAKEALL <board>
      	-> grep execve /tmp/foo | wc -l
      
      	Before: After:	Reduction:
      ==================================
      P2020DS 20555	15205	-26%
      qong	31692	14490	-54%
      
      As a result, built times are significantly reduced, typically by
      30...50%.
      
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Cc: Andy Fleming <afleming@gmail.com>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Albert Aribaud <albert.aribaud@free.fr>
      cc: Graeme Russ <graeme.russ@gmail.com>
      cc: Mike Frysinger <vapier@gentoo.org>
      Tested-by: default avatarGraeme Russ <graeme.russ@gmail.com>
      Tested-by: default avatarMatthias Weisser <weisserm@arcor.de>
      Tested-by: default avatarSanjeev Premi <premi@ti.com>
      Tested-by: default avatarSimon Glass <sjg@chromium.org>
      Tested-by: default avatarMacpaul Lin <macpaul@gmail.com>
      Acked-by: default avatarMike Frysinger <vapier@gentoo.org>
      cca4e4ae
Loading