summaryrefslogtreecommitdiff
path: root/tools
Commit message (Collapse)AuthorAgeLines
* tools: moveconfig: skip savedefconfig if .config was not updatedMasahiro Yamada2016-06-13-5/+16
| | | | | | | | | If no CONFIG option is moved to the .config, no need to sync the defconfig file. This accelerates the processing by skipping needless "make savedefconfig". Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: refactor code to go back to idle stateMasahiro Yamada2016-06-13-20/+17
| | | | | | | Move similar code to finish() function. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: display log atomically in more readable formatMasahiro Yamada2016-06-13-31/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, the log was displayed in the format: <defconfig_name> : <action1> <defconfig_name> : <action2> <defconfig_name> : <action3> When we move multiple CONFIGs at the same time, we see as many <defconfig_name> strings as actions for every defconfig, which is redundant information. Moreover, since normal log and error log are displayed separately, Messages from different threads could be mixed, like this: <foo> : <action1> <foo> : <action2> <bar> : <action1> <bar> : <action2> <foo> : <error_log> This commit makes sure to call "print" once a defconfig, which enables atomic logging for each defconfig. It also makes it possible to refactor the log format as follows: <foo_defconfig> <action1> <action2> <error_log> <bar_defconfig> <action1> <action2> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: move log output code out of Kconfig Parser classMasahiro Yamada2016-06-13-12/+12
| | | | | | | This will help further improvement/clean-up. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: compute file paths just onceMasahiro Yamada2016-06-13-10/+10
| | | | | | | | | The paths to .config, include/autoconf.mk, include/config/auto.conf are not changed during the defconfig walk. Compute them only once when a new class instance is created. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: allow to give CONFIG names as argument directlyMasahiro Yamada2016-06-13-88/+20
| | | | | | | | | | | | | | | | | | We still pass the input file with CONFIG name, type, default value in each line, but the last two fields are just ignored by the tool. So, let's deprecate the input file and allow users to give CONFIG names directly from the command line. The types and default values are automatically detected and handled nicely by the tool. Going forward, we can use this tool more easily like: tools/moveconfig.py CONFIG_FOO CONFIG_BAR Update the documentation and fix some typos I noticed while I was working on. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: drop code for handling type and default valueMasahiro Yamada2016-06-13-76/+29
| | | | | | | | Now types and defalut values given by the input file are just ignored. Delete unnecessary code. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: do not rely on type and default value given by usersMasahiro Yamada2016-06-13-45/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 96464badc794 ("moveconfig: Always run savedefconfig on the moved config") changed the work flow of this tool a lot from the original intention when this tool was designed first. Since then, before running this tool, users must edit the Kconfig to add the menu entries for the configs they are moving. It means users had already specified the type and the default value for each CONFIG via its Kconfig entry. Nevertheless, users are still required to dictate the same type and the default value in the input file. This is tedious to use. So, my idea here is to deprecate the latter. Before moving forward with it, there is one issue worth mentioning; since the savedefconfig re-sync was introduced, this tool has not been able to move bool options with "default y". Joe sent a patch to solve this problem about a year ago, but it was not applied for some reasons. Now, he came back with an updated patch, so this problem will be fixed soon. For other use cases, I see no reason to require redundant dictation in the input file. Instead, the tool can know the types and default values by parsing the .config file. This commit changes the tool to use the CONFIG names, but ignore the types and default values given by the input file. This commit also fixes one bug. Prior to this commit, it could not move an integer-typed CONFIG with value 1. For example, assume we are moving CONFIG_CONS_INDEX. Please note this is an integer type option. Many board headers define this CONFIG as 1. #define CONFIG_CONS_INDEX 1 It will be converted to CONFIG_CONS_INDEX=y and moved to include/autoconf.mk, by the tools/scripts/define2mk.sed. It will cause "make savedefconfig" to fail due to the type conflict. This commit takes care of it by detecting the type and converting the CONFIG value correctly. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: increment number of processed files monotonicallyMasahiro Yamada2016-06-13-16/+49
| | | | | | | | | | | | | | | | | Currently, the progress " * defconfigs out of 1133" does not increase monotonically. Moreover, the number of processed defconfigs does not match the total number of defconfigs when this tool finishes, like: 1132 defconfigs out of 1133 Clean up headers? [y/n]: It looks like the task was not completed, and some users might feel upset about it. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: exit with error message for not clean directoryMasahiro Yamada2016-06-13-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | When the source tree is not clean, this tool raises an exception with a message like follows: Traceback (most recent call last): File "tools/moveconfig.py", line 939, in <module> main() File "tools/moveconfig.py", line 934, in main move_config(config_attrs, options) File "tools/moveconfig.py", line 808, in move_config while not slots.available(): File "tools/moveconfig.py", line 733, in available if slot.poll(): File "tools/moveconfig.py", line 645, in poll self.parser.update_dotconfig(self.defconfig) File "tools/moveconfig.py", line 503, in update_dotconfig with open(autoconf_path) as f: IOError: [Errno 2] No such file or directory: '/tmp/tmpDtzCgl/include/autoconf.mk' This does not explain what is wrong. Show an appropriate error message "source tree is not clean, please run 'make mrproper'" in such a situation. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: check compilers before starting defconfig walkMasahiro Yamada2016-06-13-23/+48
| | | | | | | | | | | | | | | Since commit 25400090b1e2 ("moveconfig: Print a message for missing compiler"), this tool parses an error message every time an error occurs during the process in order to detect missing compiler. Instead of that, we can look for compilers in the PATH environment only once before starting the defconfig walk. If a desired compiler is missing, "make include/config/auto.conf" will apparently fail for that architecture. So, the tool can just skip those board, showing "Compiler is missing. Do nothing.". Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: check directory location before compilersMasahiro Yamada2016-06-13-2/+2
| | | | | | | | | | | | | | | | | | We must ensure this tool is run from the top of source directory before calling update_cross_compile(). Otherwise, the following exception is thrown: Traceback (most recent call last): File "./moveconfig.py", line 918, in <module> main() File "./moveconfig.py", line 908, in main update_cross_compile() File "./moveconfig.py", line 292, in update_cross_compile for arch in os.listdir('arch'): OSError: [Errno 2] No such file or directory: 'arch' Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: remove redundant else: after sys.exit()Masahiro Yamada2016-06-13-7/+5
| | | | | | | | Nesting by "else:" is not generally useful after such statements as return, break, sys.exit(), etc. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: rename update_defconfig() to update_dotconfig()Masahiro Yamada2016-06-13-5/+5
| | | | | | | | | | | | | Commit 96464badc794 ("moveconfig: Always run savedefconfig on the moved config") changed how defconfig files were updated. Since then, the function update_defconfig() does not modify defconfig files at all (instead, they are updated by "make savedefconfig"), so update_dotconfig() is a better fit for this function. Also, update the comment block to match the actual behavior. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* tools: moveconfig: fix --dry-run optionMasahiro Yamada2016-06-13-8/+7
| | | | | | | | | | | | | | | | Since commit 96464badc794 ("moveconfig: Always run savedefconfig on the moved config"), --dry-run option is broken. The --dry-run option prevents the .config from being modified, but defconfig files might be updated by "make savedefconfig" regardless of the --dry-run option. Move the "if not self.options.dry_run" conditional to the correct place. Fixes 96464badc794 ("moveconfig: Always run savedefconfig on the moved config") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
* mtd: nand: Remove docg4 driver and palmtreo680 flashing toolScott Wood2016-06-03-177/+0
| | | | | | | | | | Commit ad4f54ea86b ("arm: Remove palmtreo680 board") removed the only user of the docg4 driver and the palmtreo680 image flashing tool. This patch removes them. Signed-off-by: Scott Wood <oss@buserror.net> Cc: Mike Dunn <mikedunn@newsguy.com> Cc: Simon Glass <sjg@chromium.org>
* tools/env: allow to pass NULL for environment optionsAndreas Fenkart2016-05-31-3/+24
| | | | | | | | | | If users of the library are happy with the default, e.g. config file name. They can pass NULL as the opts pointer. This simplifies the transition of existing library users. FIXES a compile error. since common_args has been removed by a previous patch Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* Merge git://git.denx.de/u-boot-dmTom Rini2016-05-27-6/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | For odroid-c2 (arch-meson) for now disable designware eth as meson now needs to do some harder GPIO work. Signed-off-by: Tom Rini <trini@konsulko.com> Conflicts: lib/efi_loader/efi_disk.c Modified: configs/odroid-c2_defconfig
| * rockchip: Check image name for the rksd imageSimon Glass2016-05-27-6/+1
| | | | | | | | | | | | | | We need a correct name (rk3288, rk3036) so check this to avoid a crash later. Signed-off-by: Simon Glass <sjg@chromium.org>
* | tools: Add entry for generated tools/bin2header to tools/.gitignoreRobert P. J. Day2016-05-27-0/+1
| | | | | | | | Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
* | tools/genboardscfg.py: remove bogus import subprocessMasahiro Yamada2016-05-27-1/+0
| | | | | | | | | | | | | | Since f6c8f38ec601 ("tools/genboardscfg.py: improve performance more with Kconfiglib"), this tool does not use the subprocess module. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* | tools/env: no global variable sharing between application and libraryAndreas Fenkart2016-05-27-55/+48
| | | | | | | | Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* | tools/env: compute size of usable area only onceAndreas Fenkart2016-05-27-14/+18
| | | | | | | | | | | | for double buffering to work, redundant buffers must have equal size Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* | tools/env: fw_printenv pass value_only as argumentAndreas Fenkart2016-05-27-7/+7
| | | | | | | | Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* | tools/env: remove 'extern' from function prototype in fw_env.hAndreas Fenkart2016-05-27-8/+8
| | | | | | | | | | | | | | checkpatch complains about in succeding patch. Prefer to fix all declarations in a dedicated patch. Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* | tools/env: pass key as argument to env_aes_cbc_cryptAndreas Fenkart2016-05-27-6/+9
|/ | | | Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* tools: zynqmpimage: Add Xilinx ZynqMP boot header generationMichal Simek2016-05-24-0/+270
| | | | | | | | | | Add support for the zynqmpimage to mkimage. Only basic functionality is supported without encryption and register initialization with one partition which is filled by U-Boot SPL. For more detail information look at Xilinx ZynqMP TRM. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* mkimage: Add a quiet modeSimon Glass2016-05-23-2/+7
| | | | | | | | | Some build systems want to be quiet unless there is a problem. At present mkimage displays quite a bit of information when generating a FIT file. Add a '-q' flag to silence this. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* Merge git://git.denx.de/u-boot-dmTom Rini2016-05-17-11/+73
|\
| * buildman: allow more incremental buildingStephen Warren2016-05-17-11/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One use-case for buildman is to continually run it interactively after each small step in a large refactoring operation. This gives more immediate feedback than making a number of commits and then going back and testing them. For this to work well, buildman needs to be extremely fast. At present, a couple issues prevent it being as fast as it could be: 1) Each time buildman runs "make %_defconfig", it runs "make mrproper" first. This throws away all previous build results, requiring a from-scratch build. Optionally avoiding this would speed up the build, at the cost of potentially causing or missing some build issues. 2) A build tree is created per thread rather than per board. When a thread switches between building different boards, this often causes many files to be rebuilt due to changing config options. Using a separate build tree for each board would avoid this. This does put more strain on the system's disk cache, but it is worth it on my system at least. This commit adds two command-line options to implement the changes described above; -I ("--incremental") turns of "make mrproper" and -P ("--per-board-out-dir") creats a build directory per board rather than per thread. Tested: ./tools/buildman/buildman.py tegra ./tools/buildman/buildman.py -I -P tegra ./tools/buildman/buildman.py -b tegra_dev tegra ./tools/buildman/buildman.py -b tegra_dev -I -P tegra ... each once after deleting the buildman result/work directory, and once "incrementally" after a previous identical invocation. Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Tom Rini <trini@konsulko.com> Acked-by: Simon Glass <sjg@chromium.org> # v1 Tested-by: Simon Glass <sjg@chromium.org> # v1 Acked-by: Simon Glass <sjg@chromium.org>
* | imx: tools: imximage: fix CLR bit commandAdrian Alonso2016-05-17-1/+1
|/ | | | | | | Fix incorrect parametr in CMD_CHECK_BITS_CLR command Pass CLR parameter to DCD header for CMD_CHECK_BITS_CLR Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
* test, tools: update tbot documentationHeiko Schocher2016-05-13-153/+103
| | | | | | | | update tbot documentation in U-Boot, as I just merged the event system into tbots master branch. Signed-off-by: Heiko Schocher <hs@denx.de>
* Fix various typos, scattered over the code.Robert P. J. Day2016-05-05-2/+2
| | | | | | | | | | | | | Spelling corrections for (among other things): * environment * override * variable * ftd (should be "fdt", for flattened device tree) * embedded * FTDI * emulation * controller
* mkimage: fix generation of FIT imageAndreas Bießmann2016-05-03-6/+3
| | | | | | | | | | | Commit 7a439cadcf3192eb012a2432ca34670b676c74d2 broke generation of SPL loadable FIT images (CONFIG_SPL_LOAD_FIT). Fix it by removing the unnecessary storage of expected image type. This was a left over of the previous implementation. It is not longer necessary since the mkimage -b switch always has one parameter. Tested-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Andreas Bießmann <andreas@biessmann.org>
* fit_image: Fix a double close() on the error pathSimon Glass2016-05-02-1/+0
| | | | | | | There is an extra close() call which is not needed. Reported-by: Coverity (CID: 143065) Signed-off-by: Simon Glass <sjg@chromium.org>
* tools: env: fix config file loading in env libraryAnatolij Gustschin2016-05-02-0/+3
| | | | | | | | | | | | env library is broken as the config file pointer is only initialized in main(). When running in the env library parse_config() fails: Cannot parse config file '(null)': Bad address Ensure that config file pointer is always initialized. Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* Change my mailaddressAndreas Bießmann2016-05-02-2/+2
| | | | | | I'll switch my mails to my own server, so drop all gmail references. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
* mkimage: fix argument parsing on BSD systemsAndreas Bießmann2016-05-02-21/+12
| | | | | | | | | | | The getopt(3) optstring '-' is a GNU extension which is not available on BSD systems like OS X. Remove this dependency by implementing argument parsing in another way. This will also change the lately introduced '-b' switch behaviour. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* tools: env: bug: config structs must be defined in tools libraryAndreas Fenkart2016-03-27-4/+4
| | | | | | | | fw_senten/fw_printenv can be compiled as a tools library, excluding the fw_env_main object. Reported-by: Stefano Babic <sbabic@denx.de> Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* tools: env: fw_parse_script: simplify removal of newline/carriage returnAndreas Fenkart2016-03-26-6/+4
| | | | | | fgets returns when the first '\n' is found Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* tools: env: split fw_string_blank into skip_chars / skip_blanksAndreas Fenkart2016-03-26-9/+14
| | | | Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* tools: env: fw_string_blank: return from loop when item foundAndreas Fenkart2016-03-26-5/+2
| | | | Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* tools: env: replace WHITESPACE macro by isblankAndreas Fenkart2016-03-26-4/+3
| | | | Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* tools: kwboot: Add xmodem timeout optionKevin Smith2016-03-24-2/+9
| | | | | | | | | | | | Add command-line specification of xmodem timeout. If the binary header needs to take a while to do something (e.g. DDR ECC scrubbing), the xmodem transfer can time out. Add a configurable xmodem block timeout to allow transfers with slow binary headers to succeed. Signed-off-by: Kevin Smith <kevin.smith@elecsyscorp.com> Cc: Stefan Roese <sr@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
* tools: kwboot: Clean up usage textKevin Smith2016-03-24-1/+1
| | | | | | | | | | | Usage text was getting unwieldy and somewhat incorrect. The usage summary implied that some options were mutually exclusive (e.g. -q or -s). Clean up the summary to just include the important ones, and include a generic "[OPTIONS]" instead. Signed-off-by: Kevin Smith <kevin.smith@elecsyscorp.com> Cc: Stefan Roese <sr@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
* mkimage: Don't close the file if it wasn't openedSimon Glass2016-03-22-2/+2
| | | | | | | | | The error path for fit_import_data() is incorrect if the second open() call fails. Reported-by: Coverity (CID: 138489) Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* mkimage: Ensure file is closed in fdt_property_file()Simon Glass2016-03-22-1/+2
| | | | | | | | The file that is opened is not closed in all cases. Fix it. Reported-by: Coverity (CID: 138490) Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* mkimage: Fix missing free() and close() in fit_build()Simon Glass2016-03-22-1/+4
| | | | | | | | | Make sure that both the error path and normal return free the buffer and close the file. Reported-by: Coverity (CID: 138491) Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* mkimage: Fix missing free() in fit_extract_data()Simon Glass2016-03-22-0/+2
| | | | | | | | The 'buf' variable is not freed. Fix it. Reported-by: Coverity (CID: 138492) Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* mkimage: Fix error path in fit_extract_data()Simon Glass2016-03-22-4/+7
| | | | | | | | | The 'fdt' variable is not unmapped in all error cases. Fix this. Reported-by: Coverity (CID: 138493) Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>