summaryrefslogtreecommitdiff
path: root/tools
Commit message (Collapse)AuthorAgeLines
* buildman: adjust for KconfigMasahiro Yamada2014-07-30-4/+14
| | | | | | | | | Use "make <board>_defconfig" instead of "make <board>_config". Invoke tools/genboardscfg.py to generate boards.cfg when it is missing. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
* tools: add genboardscfg.pyMasahiro Yamada2014-07-30-0/+504
| | | | | | | | | | | | | | | | | | | | | Now the primary data for each board is in Kconfig, defconfig and MAINTAINERS. It is true boards.cfg is needed for MAKEALL and buildman and might be useful to brouse all the supported boards in a single database. But it would be painful to maintain the boards.cfg in sync. So, this is the solution. Add a tool to generate the equivalent boards.cfg file based on the latest Kconfig, defconfig and MAINTAINERS. We can keep all the functions of MAKEALL and buildman with it. The best thing would be to change MAKEALL and buildman for not depending on boards.cfg in the future, but it would take some time. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
* kconfig: switch to KconfigMasahiro Yamada2014-07-30-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit enables Kconfig. Going forward, we use Kconfig for the board configuration. mkconfig will never be used. Nor will include/config.mk be generated. Kconfig must be adjusted for U-Boot because our situation is a little more complicated than Linux Kernel. We have to generate multiple boot images (Normal, SPL, TPL) from one source tree. Each image needs its own configuration input. Usage: Run "make <board>_defconfig" to do the board configuration. It will create the .config file and additionally spl/.config, tpl/.config if SPL, TPL is enabled, respectively. You can use "make config", "make menuconfig" etc. to create a new .config or modify the existing one. Use "make spl/config", "make spl/menuconfig" etc. for spl/.config and do likewise for tpl/.config file. The generic syntax of configuration targets for SPL, TPL is: <target_image>/<config_command> Here, <target_image> is either 'spl' or 'tpl' <config_command> is 'config', 'menuconfig', 'xconfig', etc. When the configuration is done, run "make". (Or "make <board>_defconfig all" will do the configuration and build in one time.) For futher information of how Kconfig works in U-Boot, please read the comment block of scripts/multiconfig.py. By the way, there is another item worth remarking here: coexistence of Kconfig and board herder files. Prior to Kconfig, we used C headers to define a set of configs. We expect a very long term to migrate from C headers to Kconfig. Two different infractructure must coexist in the interim. In our former configuration scheme, include/autoconf.mk was generated for use in makefiles. It is still generated under include/, spl/include/, tpl/include/ directory for the Normal, SPL, TPL image, respectively. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
* buildman: make sure to invoke GNU MakeMasahiro Yamada2014-07-29-3/+12
| | | | | | | | | | Since the command name 'make' may not be GNU Make on some platforms such as FreeBSD, buildman should call scripts/show-gnu-make to get the command name for GNU MAKE (and error out if it is not found). Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Jeroen Hofstee <jeroen@myspectrum.nl>
* Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini2014-07-29-6/+4
|\
| * Merge branch 'u-boot-sunxi/master' into 'u-boot-arm/master'Albert ARIBAUD2014-07-28-6/+4
| |\
| | * sunxi: mksunxiboot: Fix loading of files with a size which is not a multiple ↵Hans de Goede2014-07-06-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of 4 We should not be aligning the amount of bytes which we try to read from the disk, this leads to trying to read more bytes then there are which fails. file_size is already aligned to BLOCK_SIZE before being stored in img.header.length, so there is no need for load_size at all. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
* | | patman: make "No recipient" checking more tolerantMasahiro Yamada2014-07-28-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If Series-to tag is missing, Patman exits with a message "No recipient". This is just annoying for those who had already added sendemail.to configuration. I guess many developers have [sendemail] to = u-boot@lists.denx.de in their .git/config because the 'To: u-boot@lists.denx.de' field should always be added when sending patches. That seems more reasonable rather than adding 'Series-to: u-boot@lists.denx.de' to every patch series. Patman should exit only when both Series-to tag and sendemail.to configuration are mising. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
* | | buildman: Support in-tree buildsSimon Glass2014-07-28-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present buildman always builds out-of-tree, that is it uses a separate output directory from the source directory. Normally this is what you want, but it is important that in-tree builds work also. Some Makefile changes may break this. Add a -i option to tell buildman to use in-tree builds, so that it is easy to test this feature. Signed-off-by: Simon Glass <sjg@chromium.org>
* | | buildman: Add -C option to force a reconfigure for each commitSimon Glass2014-07-28-1/+13
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | Normally buildman wil try to configure U-Boot for a particular board on the first commit that it builds in a series. Subsequent commits are built without reconfiguring which normally works. Where it doesn't, buildman automatically reconfigures and retries. To fully emulate the way MAKEALL works, we should have an option to disable this optimisation. Add a -C option to cause buildman to always reconfigure on each commit. Signed-off-by: Simon Glass <sjg@chromium.org>
* | buildman: Avoid retrying a build if it definitely failedSimon Glass2014-07-23-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | After a build fails buildman will reconfigure and try again, if it did not reconfigure before the build. However it doesn't actually keep track of whether it did reconfigure on the previous attempt. Fix that logic to avoid a pointless rebuild. This speeds things up quite a bit for failing builds. Previously they would always be built twice. Change-Id: Ib37f21320baa7c60bed98f4042c0b7ed7c0dc85e Signed-off-by: Simon Glass <sjg@chromium.org>
* | buildman: Add -F flag to retry failed buildsSimon Glass2014-07-23-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generally a build failure with a particular commit cannot be fixed except by changing that commit. Changing the commit will automatically cause buildman to retry when you run it again: buildman sees that the commit hash is different and that it has no previous build result for the new commit hash. However sometimes the build failure is due to a toolchain issue or some other environment problem. In that case, retrying failed builds may yield a different result. Add a flag to retry failed builds. This differs from the force rebuild flag (-f) in that it will not rebuild commits which are already marked as succeeded. Series-to: u-boot Change-Id: Iac4306df499d65ff0888b1c60f06fc162a6faad8
* | buildman: fix toolchain priority_listMasahiro Yamada2014-07-07-1/+1
| | | | | | | | | | | | | | | | | | '-elf' appears twice in the toolchain priority_list. The second one is rudundant. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
* | buildman: fix to display warning message for missing [toolchain] sectionMasahiro Yamada2014-07-07-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Toolchains.__init__ is expected to display a warning message when the [toolchain] section is missing from ~/.buildman file. But it never works. In that case, instead, buildmain fails with an error message which is difficult to understand: Traceback (most recent call last): File "tools/buildman/buildman", line 126, in <module> control.DoBuildman(options, args) File "/home/foo/u-boot/tools/buildman/control.py", line 78, in DoBuildman toolchains = toolchain.Toolchains() File "/home/foo/u-boot/tools/buildman/toolchain.py", line 106, in __init__ config_fname) NameError: global name 'config_fname' is not defined Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
* | patman: Only apply patches when we know the original HEADSimon Glass2014-07-07-0/+4
|/ | | | | | | | | | | | | | When patman applies the patches it checks out a new branch, uses 'git am' to apply the patches one by one, and then tries to go back to the old branch. If you try this when the branch is 'undefined', this doesn't work as patman cannot restore the correct branch after applying the patches. It seems that 'undefined' is created by git and is persistent after it is created, so that you can end up on quite an old branch. Add a check for the 'undefined' branch to avoid this. Reported-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* lib, fdt: move fdtdec_get_int() out of lib/fdtdec.cHeiko Schocher2014-06-23-0/+1
| | | | | | | | | | | | | | | | | move fdtdec_get_int() out of lib/fdtdec.c into lib/fdtdec_common.c as this function is also used, if CONFIG_OF_CONTROL is not used. Poped up on the ids8313 board using signed FIT images, and activating CONFIG_SYS_GENERIC_BOARD. Without this patch it shows on boot: No valid FDT found - please append one to U-Boot binary, use u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d <file.dtb> With this patch, it boots again with CONFIG_SYS_GENERIC_BOARD enabled. Signed-off-by: Heiko Schocher <hs@denx.de> Acked-by: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@ti.com>
* includes: move openssl headers to include/u-bootJeroen Hofstee2014-06-19-5/+4
| | | | | | | | | | | | commit 18b06652cd "tools: include u-boot version of sha256.h" unconditionally forced the sha256.h from u-boot to be used for tools instead of the host version. This is fragile though as it will also include the host version. Therefore move it to include/u-boot to join u-boot/md5.h etc which were renamed for the same reason. cc: Simon Glass <sjg@chromium.org> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
* Enhance fit_check_sign to check all imagesSimon Glass2014-06-19-5/+14
| | | | | | | | | At present this tool only checks the configuration signing. Have it also look at each of the images in the configuration and confirm that they verify. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Heiko Schocher <hs@denx.de> (v1)
* Allow compiling common/bootm.c on with HOSTCCSimon Glass2014-06-19-0/+1
| | | | | | | We want to use some of the functionality in this file, so make it build on the host. Signed-off-by: Simon Glass <sjg@chromium.org>
* Reverse the meaning of the fit_config_verify() return codeSimon Glass2014-06-19-2/+1
| | | | | | | It is more common to have 0 mean OK, and -ve mean error. Change this function to work the same way to avoid confusion. Signed-off-by: Simon Glass <sjg@chromium.org>
* tools: Check arguments in fit_check_sign/fit_infoSimon Glass2014-06-19-0/+21
| | | | | | | These tools crash if no arguments are provided. Add checks to avoid this. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Heiko Schocher <hs@denx.de>
* mkimage: Automatically expand FDT in more casesSimon Glass2014-06-19-1/+3
| | | | | | | The original code did not cover every case and there was a missing negative sign in one case. Expand the coverage and fix the bug. Signed-off-by: Simon Glass <sjg@chromium.org>
* .gitignore: move *.exe pattern to the top gitignore for CygwinMasahiro Yamada2014-06-11-1/+0
| | | | | | | | | | | | GCC on Cygwin generates executables with .exe extension, for example: scripts/basic/fixdep.exe scripts/docproc.exe To ignore them, *.exe pattern should be moved from tools/.gitignore to ./.gitignore Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* kbuild: remove unnecessary adjustment for CygwinMasahiro Yamada2014-06-11-49/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "SFX = .exe" was originally added for Cygwin environment. It is true that GCC on Cygwin spits executables with .exe extention. For example, gcc -o foo foo.c will generate "foo.exe", not "foo". But GNU make is also nicely adjusted for Cygwin. For example, foo: foo.c gcc -o $@ $< will compare the timestamp between "foo.exe" and "foo.c". You do not have to tweak Makefiles like this: foo$(SFX): foo.c gcc -o $@ $< And "make clean" works as well without adjustment for Cygwin because the command "rm foo" on Cygwin will delete both "foo" and "foo.exe". In conclusion, makefiles do not need special care for Cygwin. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* kbuild, tools: generate wrapper C sources automatically by MakefileMasahiro Yamada2014-06-11-30/+26
| | | | | | | | | | | | | | There are many source files shared between U-boot image and tools. Instead of adding a lot of dummy wrapper files that just include the corresponding file in lib/ or common/ directory, Makefile should automatically generate them. The original inspiration for this came from scripts/Makefile.asm-generic of Linux Kernel. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
* mkimage: Automatically make space in FDT when fullSimon Glass2014-06-11-60/+114
| | | | | | | When adding hashes or signatures, the target FDT may be full. Detect this and automatically try again after making 1KB of space. Signed-off-by: Simon Glass <sjg@chromium.org>
* Improve error handling in fit_commonSimon Glass2014-06-11-19/+29
| | | | | | | Make the error handling common, and make sure the file is always closed on error. Rename the parameter to be more description and add comments. Signed-off-by: Simon Glass <sjg@chromium.org>
* tools: include u-boot version of sha256.hJeroen Hofstee2014-06-11-0/+1
| | | | | | | | | | | When building tools the u-boot specific sha256.h is required, but the host version of sha256.h is used when present. This leads to build errors on FreeBSD which does have a system sha256.h include. Like libfdt_env.h explicitly include u-boot's sha256.h. cc: Simon Glass <sjg@chromium.org> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> Acked-by: Simon Glass <sjg@chromium.org>
* tools: refactor HOSTLOADLIBES_* optionsMasahiro Yamada2014-06-05-10/+9
| | | | | | | | | The tools mkimage, dumpimage, fit_info, fit_check_sign always have the common libraries to be linked, so HOSTLOADLIBES_* can be consolidated a little bit. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
* Prevent a stack overflow in fit_check_signMichael van der Westhuizen2014-06-05-2/+3
| | | | | | | | | It is trivial to crash fit_check_sign by invoking with an absolute path in a deeply nested directory. This is exposed by vboot_test.sh. Signed-off-by: Michael van der Westhuizen <michael@smart-africa.com> Acked-by: Simon Glass <sjg@chromium.org>
* tools: Refactor mxsimage to use pbl_crc32Charles Manning2014-06-05-25/+7
| | | | | | Both pblimage and mxsimage use the same crc algorithm, so refactor. Signed-off-by: Charles Manning <cdhmanning@gmail.com>
* mkimage : Split out and clean pbl_crc32 for use by other image typesCharles Manning2014-06-05-46/+71
| | | | | | | | | | The crc32 used by pblimgae is NOT the same as zlib crc32. The pbl_crc32 is useful for other purposes in mkimage so split it out. While we are about it, clean up redundant and confusing code. Signed-off-by: Charles Manning <cdhmanning@gmail.com>
* arm:at91: enable ROM loadable atmel imageAndreas Bießmann2014-05-27-0/+53
| | | | | | | | For sama5d3xek we need to modify the SPL image for correct detection by ROM code. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> Tested-by: Bo Shen <voice.shen@atmel.com>
* mkimage: add atmelimageAndreas Bießmann2014-05-27-0/+346
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new atmelimage converts a machine code BLOB to bootable ROM image. Atmel ROM has no sophisticated image format, it only checks the first 7 ARM vectors. The vectors can contain valid B or LDR opcodes, the 6'th vector contains the image size to load. Additionally the PMECC header can be written by the atmelimage target. The parameters must be given via the -n switch as a coma separated list. For example: mkimage -T atmelimage \ -n usePmecc=1,sectorPerPage=4,sectorSize=512,spareSize=64,eccBits=4,eccOffset=36 \ -d spl/u-boot-spl.bin boot.bin A provided image can be checked for correct header setup. It prints out the PMECC header parameters if it has one and the 6'th interrupt vector content. ---8<--- Image Type: ATMEL ROM-Boot Image with PMECC Header PMECC header ==================== eccOffset: 36 sectorSize: 512 eccBitReq: 4 spareSize: 64 nbSectorPerPage: 4 usePmecc: 1 ==================== 6'th vector has 17044 set --->8--- A SPL binary modified with the atmelimage mkimage target was succesfully booted on a sama5d34ek via MMC and NAND. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> Cc: Bo Shen <voice.shen@atmel.com> Cc: Heiko Schocher <hs@denx.de> Tested-by: Bo Shen <voice.shen@atmel.com>
* sunxi: non-FEL SPL boot support for sun7iIan Campbell2014-05-25-0/+145
| | | | | | | | | | | Add support for booting from an MMC card. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Henrik Nordström <henrik@henriknordstrom.net> Signed-off-by: Ian Campbell <ijc@hellion.org.uk> Reviewed-by: Marek Vasut <marex@denx.de> Cc: Tom Cubie <Mr.hipboi@gmail.com> Reviewed-by: Tom Rini <trini@ti.com>
* patman: Suppress duplicate signoffs only for real patchesSimon Glass2014-05-16-1/+2
| | | | | | | | | | | | | There is an unfortunate bug in the signoff suppression logic. The first pass is performed with 'git log', and all signoffs are added to the supression set, such that the second time (when processing the real patches) we always suppress the signoffs. Correct this by only suppressing signoffs in the second pass. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Michal Simek <monstr@monstr.eu> Tested-by: Andreas Bießmann <andreas.devel@googlemail.com>
* Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini2014-05-13-0/+0
|\
| * logos: Update of the syteco company logoThomas Diener2014-05-05-0/+0
| | | | | | | | | | Signed-off-by: Thomas Diener <dietho@gmx.de> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* | tools: env: Add aes.c placeholderMarek Vasut2014-05-12-0/+1
| | | | | | | | | | | | | | | | | | | | | | Add missing aes.c placeholder which includes lib/aes.c . Without this one, tools/env/ will fail to build. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Tested-by: Alexey Brodkin <abrodkin@synopsys.com> Tested-by: Heiko Schocher <hs@denx.de>
* | Merge branch 'tom' of git://git.denx.de/u-boot-x86Tom Rini2014-05-09-4/+27
|\ \
| * | patman: Avoid duplicate sign-offsSimon Glass2014-05-09-2/+23
| | | | | | | | | | | | | | | | | | | | | Keep track of all Signed-off-by tags in a commit and silently suppress any duplicates. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | patman: Deal with 'git apply' failures correctlySimon Glass2014-05-09-2/+4
| |/ | | | | | | | | | | | | This sort of failure is rare, but the code to deal with it is wrong. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org>
* | Merge branch 'u-boot/master'Albert ARIBAUD2014-05-09-70/+473
|\ \ | |/ | | | | | | | | | | Conflicts: drivers/net/Makefile (trivial merge)
| * buildman: make output dir configurableDaniel Schwierzeck2014-04-18-1/+4
| | | | | | | | | | | | | | | | Add an option to specify the output directory to override the default path '../'. This is useful for building in a ramdisk. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
| * tools: fix Makefile to clean-up fit_info and fit_check_signMasahiro Yamada2014-04-18-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We should avoid the description in Makefile like this ifdef CONFIG_FIT_SIGNATURE hostprogs-y += fit_info$(SFX) fit_check_sign$(SFX) endif Otherwise, fit_info and fit_check_sign would never be cleaned by "make clean". Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Heiko Schocher <hs@denx.de>
| * Merge branch 'next'Tom Rini2014-04-17-69/+471
| |\
| | * env: Implement support for AES encryption into fw_* toolsMarek Vasut2014-03-21-8/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement support for encrypting/decrypting the environment block into the tools/env/fw_* tools. The cipher used is AES 128 CBC and the implementation depends solely on components internal to U-Boot. To allow building against the internal AES library, the library did need minor adjustments to not include U-Boot's headers which are not wanted to be included and define missing types. Signed-off-by: Marek Vasut <marex@denx.de>
| | * tools, fit_check_sign: verify a signed fit imageHeiko Schocher2014-03-21-2/+111
| | | | | | | | | | | | | | | | | | | | | | | | add host tool "fit_check_sign" which verifies, if a fit image is signed correct. Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Simon Glass <sjg@chromium.org>
| | * tools, fit: add fit_info host commandHeiko Schocher2014-03-21-58/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add fit_info command to the host tools. This command prints the name, offset and the len from a property from a node in a fit file. This info can be used to extract a properties data with linux tools, for example "dd". Signed-off-by: Heiko Schocher <hs@denx.de> Acked-by: Simon Glass <sjg@chromium.org>
| | * fit: add sha256 supportHeiko Schocher2014-03-21-1/+3
| | | | | | | | | | | | | | | | | | | | | add sha256 support to fit images Signed-off-by: Heiko Schocher <hs@denx.de> Acked-by: Simon Glass <sjg@chromium.org>