- 12 May, 2014 2 commits
-
-
Masahiro Yamada authored
Using __DATE__, __TIME__ would make the build non-deterministic. If the code needs to refer to build date/time, use U_BOOT_DATE and U_BOOT_TIME in include/generated/timestamp_autogenerated.h instead. This commit has been imported from Linux Kernel, which should be applied to U-Boot too: commit fe7c36c7bde12190341722af69358e42171162f3 Author: Josh Triplett <josh@joshtriplett.org> Date: Mon Dec 23 13:56:06 2013 -0800 Makefile: Build with -Werror=date-time if the compiler supports it GCC 4.9 and newer have a new warning -Wdate-time, which warns on any use of __DATE__, __TIME__, or __TIMESTAMP__, which would make the build non-deterministic. Now that the kernel does not use any of those macros, turn on -Werror=date-time if available, to keep it that way. The kernel already (optionally) records this information at build time in a single place; other kernel code should not duplicate that. Signed-off-by:
Josh Triplett <josh@joshtriplett.org> Signed-off-by:
Michal Marek <mmarek@suse.cz> Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@ti.com>
-
- 23 Apr, 2014 2 commits
-
-
Masahiro Yamada authored
This reverts commit a8b993eb. Commit a8b993eb claims it fixes u-boot.lds rule by replacing $(call if_changed) with $(call filechk). But the problem had already been fixed by commit 395e60cd a few days before commit a8b993eb was posted. There is no reason to apply commit a8b993eb. What is worse is $(call filechk) is too strong to fix the problem and looks weird. Date of the two patches: [1] commit 395e60cd Author: Masahiro Yamada <yamada.m@jp.panasonic.com> AuthorDate: Wed Apr 9 20:10:43 2014 +0900 Commit: Tom Rini <trini@ti.com> CommitDate: Fri Apr 11 10:08:42 2014 -0400 replaces $(call if_changed) -> $(call if_changed_dep) [2] commit a8b993eb Author: Jon Loeliger <jon.loeliger@oracle.com> AuthorDate: Tue Apr 15 16:09:37 2014 -0500 Commit: Tom Rini <trini@ti.com> CommitDate: Fri Apr 18 16:14:16 2014 -0400 replaces $(call if_changed) -> $(call filechk) A conflict must have happened when applying [2], but somehow it was applied, sadly. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Jon Loeliger <jon.loeliger@oracle.com> Cc: Andreas Bießmann <andreas.devel@googlemail.com> Cc: Tom Rini <trini@ti.com>
-
Prabhakar Kushwaha authored
Objective of this target to have concatenate binary having - SPL binary in PBL command format - U-boot binary Signed-off-by:
Prabhakar Kushwaha <prabhakar@freescale.com> Reviewed-by:
York Sun <yorksun@freescale.com>
-
- 18 Apr, 2014 3 commits
-
-
Jon Loeliger authored
Prior to this patch, the top-level linker script u-boot.lds used a simple $(call if_changed) check when generated. That mechanism misses cases where a possible include file change induces a change in the u-boot.lds too. This patch converts it to a stronger check using ($call filechk) that will also notice differences in file contents and will catch changes due to pre-processing as well. Signed-off-by:
Jon Loeliger <jon.loeliger@oracle.com>
-
Masahiro Yamada authored
Like Linux Kernel, this commit provides environment variables KCPPFLAGS, KAFLAGS and KCFLAGS, which are useful to pass additional options. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Masahiro Yamada authored
This commit imports Kbuild-related updates from v3.14 to v3.15-rc1. - commit 3d3d6b8474204b6819688c9800774d52d370a538 kbuild: LLVMLinux: Adapt warnings for compilation with clang - commit 61163efae02040f66a95c8ed17f4407951ba58fa kbuild: LLVMLinux: Add Kbuild support for building kernel with Clang - commit 79192ca8ebd9a25c583aa46024a250fef1e7766f scripts: objdiff: detect object code changes between two commits - commit 1c9e70a55b088d97a59241744fe459409d0c3582 kbuild: create a build directory automatically for out-of-tree build - commit a03fcb50e816a69acffb13b5e56db75063aeba8a kbuild: remove redundant '.*.cmd' pattern from make distclean - commit 13338935f1574a2dcd1c891461b0dcc42f8cff42 kbuild: move "quote" to Kbuild.include to be consistent - commit bfdfaeae500a3b194b73b01e92a8034791a58b7f kbuild: specify build_docproc as a phony target - commit f4d4ffc03efc864645b990e1d579bbe1b8e358a4 kbuild: dtbs_install: new make target - commit 1e64ff42ea3d8d2fc8aa71f9717b3c1cb6c2f893 Kbuild, lto: Disable LTO for asm-offsets.c - commit ccbef1674a1579842c7dbdf554efca85d2cd245a Kbuild, lto: add ld-version and ld-ifversion macros - commit ae63b2d7bdd9bd66b88843be0daf8e37d8f0b574 scripts/tags.sh: Ignore *.mod.c - commit e36aaea28972c57a32a3ba5365e61633739719b9 kbuild: Fix silent builds with make-4 Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
- 17 Apr, 2014 1 commit
-
-
Vitaly Andrianov authored
k2hk EVM is based on Texas Instruments Keystone2 Hawking/Kepler SoC. Keystone2 SoC has ARM v7 Cortex-A15 MPCore processor. Please refer the ti/k2hk_evm/README for details on the board, build and other information. This patch add support for keystone architecture and k2hk evm. Signed-off-by:
Vitaly Andrianov <vitalya@ti.com> Signed-off-by:
Murali Karicheri <m-karicheri2@ti.com> Signed-off-by:
WingMan Kwok <w-kwok2@ti.com> Signed-off-by:
Sandeep Nair <sandeep_n@ti.com>
-
- 14 Apr, 2014 1 commit
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@ti.com>
-
- 11 Apr, 2014 1 commit
-
-
Masahiro Yamada authored
In some use cases, SPL linker script was not updated even when it should be. For instance, $ make tricoder_config all [ build complete ] ... modify include/configs/tricoder.h $ make spl/u-boot-spl.lds should be updated in this case, but it wasn't. To fix this problem, linker scripts generation should be handled by $(call if_changed_dep,...) rather than by $(call if_changed,...). Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Reported-by:
Andreas Bießmann <andreas.devel@googlemail.com> Tested-by:
Andreas Bießmann <andreas.devel@googlemail.com>
-
- 04 Apr, 2014 2 commits
-
-
Marek Vasut authored
This patch adds the groundwork for generating signed BootStream, which can be used by the HAB library in i.MX28. We are adding a new target, u-boot-signed.sb , since the process for generating regular non-signed BootStream is much easier. Moreover, the signed bootstream depends on external _proprietary_ _binary-only_ tool from Freescale called 'cst', which is available only under NDA. To make things even uglier, the CST or HAB mandates a kind-of circular dependency. The problem is, unlike the regular IVT, which is generated by mxsimage, the IVT for signed boot must be generated by hand here due to special demands of the CST. The U-Boot binary (or SPL binary) and IVT are then signed by the CST as a one block. But here is the problem. The size of the entire image (U-Boot, IVT, CST blocks) must be appended at the end of IVT. But the size of the entire image is not known until the CST has finished signing the U-Boot and IVT. We solve this by expecting the CST block to be always 3904B (which it is in case two files, U-Boot and the hand-made IVT, are signed in the CST block). Signed-off-by:
Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de>
-
Stefano Babic authored
This reverts commit 53e6b14e. Patch does not merge anymore with u-boot-arm and must be rebased. Signed-off-by:
Stefano Babic <sbabic@denx.de>
-
- 02 Apr, 2014 1 commit
-
-
Stefano Babic authored
Signed-off-by:
Stefano Babic <sbabic@denx.de>
-
- 31 Mar, 2014 3 commits
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@ti.com>
-
Marek Vasut authored
This patch adds the groundwork for generating signed BootStream, which can be used by the HAB library in i.MX28. We are adding a new target, u-boot-signed.sb , since the process for generating regular non-signed BootStream is much easier. Moreover, the signed bootstream depends on external _proprietary_ _binary-only_ tool from Freescale called 'cst', which is available only under NDA. To make things even uglier, the CST or HAB mandates a kind-of circular dependency. The problem is, unlike the regular IVT, which is generated by mxsimage, the IVT for signed boot must be generated by hand here due to special demands of the CST. The U-Boot binary (or SPL binary) and IVT are then signed by the CST as a one block. But here is the problem. The size of the entire image (U-Boot, IVT, CST blocks) must be appended at the end of IVT. But the size of the entire image is not known until the CST has finished signing the U-Boot and IVT. We solve this by expecting the CST block to be always 3904B (which it is in case two files, U-Boot and the hand-made IVT, are signed in the CST block). Signed-off-by:
Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de>
-
Masahiro Yamada authored
Prior to Kbuild, U-Boot could build under tools/ directory withour configuring for a specific board. That feature was lost when switching to Kbuild. This patch revives it again by adding a make target "tools-only". Usage: $ make tools-only Neither board configuration nor cross compiler are required to build host tools. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Suggested-by:
Alexey Brodkin <Alexey.Brodkin@synopsys.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@ti.com> Acked-by:
Alexey Brodkin <abrodkin@synopsys.com>
-
- 28 Mar, 2014 3 commits
-
-
Masahiro Yamada authored
"make clean", "make clobber", "make mrproper" and "make distclean" missed to clean-up some files when they were run with O=<some_dir> option. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Reported-by:
Wolfgang Denk <wd@denx.de>
-
Masahiro Yamada authored
Prior to Kbuild, the build system created a build directory, when it did not exist, for out-of-tree build. This feature was dropped when we switched to Kbuild because many of lines in makefiles were copied from Linux Kernel. (In Linux Kernel, we have to create a build directory by ourselves before starting build.) That feature seems worth reviving for less typing even if our code and Linux Kernel diverge. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Suggested-by:
Simon Glass <sjg@chromium.org> Acked-by:
Simon Glass <sjg@chromium.org> Tested-by:
Simon Glass <sjg@chromium.org>
-
Marek Vasut authored
U-Boot uses the 'mkimage' tool to produce various image types, not only uImage image type. Rename the invocation name from UIMAGE to MKIMAGE. The following command was used to do the replacement: git grep 'quiet_cmd_mkimage.* = UIMAGE' | cut -d : -f 1 | \ xargs -i sed -i "s@\(quiet_cmd_mkimage\)\(.*\) = UIMAGE @\1\2 = MKIMAGE@" {} Signed-off-by:
Marek Vasut <marex@denx.de> Cc: Tom Rini <trini@ti.com> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
- 12 Mar, 2014 9 commits
-
-
Masahiro Yamada authored
The tools "buildman" and "patman" are written in Python. When we run them, "*.pyc" files are created under tools/buildman, tools/patman directories. They should be cleaned up by "make distclean". Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Tom Rini <trini@ti.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Masahiro Yamada authored
These variable are no longer used. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Masahiro Yamada authored
Prior to Kbuild, $(OBJTREE) was used for pointing to the top of build directory with absolute path. In Kbuild style, $(objtree) is used instead. This commit renames OBJTREE to objtree and delete the defition of OBJTREE. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Masahiro Yamada authored
Prior to Kbuild, $(TOPDIR) or $(SRCTREE) was used for pointing to the top of source directory. (No difference between the two.) In Kbuild style, $(srctree) is used for instead. This commit renames SRCTREE to srctree and deletes the defition of SRCTREE. Note that SRCTREE in scripts/kernel-doc, scripts/docproc.c, doc/DocBook/Makefile should be keep. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Masahiro Yamada authored
Prior to Kbuild, $(TOPDIR) or $(SRCTREE) was used for pointing to the top of source directory. (No difference between the two.) In Kbuild style, $(srctree) is used instead. This commit renames TOPDIR to srctree and delete the defition of TOPDIR. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Masahiro Yamada authored
Non-empty $(KBUILD_SRC) means out-of-tree build. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Masahiro Yamada authored
Pull out "$(SRCTREE)/" from CONFIG_SYS_KWD_CONFIG and push it into the top Makefile. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Michael Walle <michael@walle.cc> Cc: Simon Guinot <simon.guinot@sequanux.org> Cc: Dave Purdy <david.c.purdy@gmail.com> Cc: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> Cc: Luka Perkov <luka@openwrt.org> Cc: Valentin Longchamp <valentin.longchamp@keymile.com> Cc: Jason Cooper <u-boot@lakedaemon.net> Cc: Siddarth Gore <gores@marvell.com> Cc: Prafulla Wadaskar <prafulla@marvell.com> Cc: Eric Cooper <ecc@cmu.edu> Cc: Suriyan Ramasami <suriyan.r@gmail.com>
-
Masahiro Yamada authored
Pull out "$(SRCTREE)/" from CONFIG_SYS_FSL_PBL_PBI and CONFIG_SYS_FSL_PBL_RCW and push it into the top Makefile. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: York Sun <yorksun@freescale.com> Cc: Poonam Aggrwal <poonam.aggrwal@freescale.com> Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
-
Masahiro Yamada authored
Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Otavio Salvador <otavio@ossystems.com.br> Cc: Lauri Hintsala <lauri.hintsala@bluegiga.com> Acked-by:
Marek Vasut <marex@denx.de>
-
- 10 Mar, 2014 2 commits
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@ti.com>
-
Masahiro Yamada authored
include/generated/version_autogenerated.h was not correctly generated on the parallel build (with -j option). Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Reported-by:
Andreas Bießmann <andreas.devel@googlemail.com>
-
- 07 Mar, 2014 5 commits
-
-
Masahiro Yamada authored
"checkgcc4" is used only for PowerPC. Move it to arch/powerpc/config.mk. To make sure gcc is new enough before beginning build, run "checkgcc4" during "archprepare". Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Masahiro Yamada authored
"checkthumb" makes sense only for ARM architecture. Move it to arch/arm/config.mk. To make sure gcc supports THUMB mode before beginning build, run "checkthumb" during "archprepare". Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
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:
Masahiro Yamada <yamada.m@jp.panasonic.com> Reported-by:
Simon Glass <sjg@chromium.org> Acked-by:
Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org> [on Sandbox] Tested-by: Stephen Warren <swarren@nvidia.com> [on Tegra]
-
Masahiro Yamada authored
Before this commit, USE_PRIVATE_LIBGCC was defined in arch-specific config.mk and referenced in arch/$(ARCH)/lib/Makefile. We are not happy about parsing config.mk again and again. We have to keep the same behavior with a different way. By adding "CONFIG_" prefix, this macro appears in include/autoconf.mk, include/spl-autoconf.mk. (And treating USE_PRIVATE_LIBGCC as CONFIG macro is reasonable enough.) Tegra SoC family defined USE_PRIVATE_LIBGCC as "yes" in arch/arm/cpu/arm720t/tegra*/config.mk, whereas did not define it in arch/arm/cpu/armv7/tegra*/config.mk. It means Tegra enables PRIVATE_LIBGCC only for SPL. We can describe the same behavior by adding #ifdef CONFIG_SPL_BUILD # define CONFIG_USE_PRIVATE_LIBGCC #endif to include/configs/tegra-common.h. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Tom Warren <twarren@nvidia.com> Cc: Simon Glass <sjg@chromium.org> Acked-by:
Stephen Warren <swarren@nvidia.com>
-
Masahiro Yamada authored
config.tmp is never generated Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Michal Simek <michal.simek@xilinx.com> Acked-by:
Michal Simek <michal.simek@xilinx.com>
-
- 04 Mar, 2014 5 commits
-
-
Masahiro Yamada authored
U-Boot has compelled all boards to have board/${BOARD}/ or board/${VENDOR}/${BOARD}/ directory. Sometimes it does not seem suitable for some boards, for example Sandbox. (Is it a board?) And arcangel4 board has nothing to compile under the board directory. This commit makes the build system more flexible: If '<none>' is given to the 6th column (=Board name) of boards.cfg, Kbuild will not descend into the board directory. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
Masahiro Yamada authored
Programs in tools/ directory are usually built for the host. But some of them (mkimage, dumpimge, gen_eth_addr, etc.) are useful on the target OS too. Actually, prior to Kbuild, U-Boot could build tools for the target like follows: $ make <target_board>_config $ export CROSS_COMPILE=<cross_gcc_prefix> $ make HOSTCC=${CROSS_COMPILE}gcc HOSTSTRIP=${CROSS_COMPILE}strip tools In Kbuild, we can no longer replace HOSTCC at the command line. In order to get back that feature, this commit adds "cross-tools" target. Usage: Build tools for the host $ make CROSS_COMPILE=<cross_gcc_prefix> tools Build tools for the target $ make CROSS_COMPILE=<cross_gcc_prefix> cross_tools Besides, "make cross_tools" strip tools programs because we generally expect smaller storages on embedded systems. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Reported-by:
Heiko Schocher <hs@denx.de> Cc: Wolfgang Denk <wd@denx.de> Cc: Tom Rini <trini@ti.com> Tested-by:
Heiko Schocher <hs@denx.de> Acked-by:
Heiko Schocher <hs@denx.de>
-
Masahiro Yamada authored
The top Makefile must export HOST_TOOLS_ALL to use it in tools/Makefile. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Tested-by:
Heiko Schocher <hs@denx.de> Acked-by:
Heiko Schocher <hs@denx.de>
-
Masahiro Yamada authored
We had switched to Kbuild so now we can specify PLATFORM_LIBS/PLATFORM_LIBGCC with relative path. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by:
Tom Rini <trini@ti.com> Acked-by:
Simon Glass <sjg@chromium.org> Tested-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
As an example of how to write a uclass and a driver, provide a demo version of each, accessible through the 'demo' command. To use these with driver model, define CONFIG_CMD_DEMO and CONFIG_DM_DEMO. The two demo drivers are enabled with CONFIG_DM_DEMO_SIMPLE and CONFIG_DM_DEMO_SHAPE. Signed-off-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Marek Vasut <marex@denx.de> Signed-off-by:
Pavel Herrmann <morpheus.ibis@gmail.com> Signed-off-by:
Viktor Křivák <viktor.krivak@gmail.com> Signed-off-by:
Tomas Hlavacek <tmshlvck@gmail.com>
-