summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2016-06-13tools: moveconfig: report when CONFIGs are removed by savedefconfigMasahiro Yamada
This is a rare case, but there is still possibility that some CONFIG is moved to the .config, but it is removed by "make savedefconfig". (For example, it happens when the specified CONFIG has no prompt in the Kconfig entry, i.e. it is not user-configurable.) It might be an unexpected case. So, display the log in this case (in yellow color to gain user's attention if --color option is given). Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: display log when savedefconfig occursMasahiro Yamada
Now, "make savedefconfig" does not always happen. Display the log when it happens. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: skip savedefconfig if .config was not updatedMasahiro Yamada
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 <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: refactor code to go back to idle stateMasahiro Yamada
Move similar code to finish() function. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: display log atomically in more readable formatMasahiro Yamada
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 <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: move log output code out of Kconfig Parser classMasahiro Yamada
This will help further improvement/clean-up. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: compute file paths just onceMasahiro Yamada
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 <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: allow to give CONFIG names as argument directlyMasahiro Yamada
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 <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: drop code for handling type and default valueMasahiro Yamada
Now types and defalut values given by the input file are just ignored. Delete unnecessary code. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: do not rely on type and default value given by usersMasahiro Yamada
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 <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: increment number of processed files monotonicallyMasahiro Yamada
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 <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: exit with error message for not clean directoryMasahiro Yamada
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 <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: check compilers before starting defconfig walkMasahiro Yamada
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 <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: check directory location before compilersMasahiro Yamada
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 <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: remove redundant else: after sys.exit()Masahiro Yamada
Nesting by "else:" is not generally useful after such statements as return, break, sys.exit(), etc. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: rename update_defconfig() to update_dotconfig()Masahiro Yamada
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 <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-13tools: moveconfig: fix --dry-run optionMasahiro Yamada
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 <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2016-06-03mtd: nand: Remove docg4 driver and palmtreo680 flashing toolScott Wood
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 <[email protected]> Cc: Mike Dunn <[email protected]> Cc: Simon Glass <[email protected]>
2016-05-31tools/env: allow to pass NULL for environment optionsAndreas Fenkart
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 <[email protected]>
2016-05-27Merge git://git.denx.de/u-boot-dmTom Rini
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 <[email protected]> Conflicts: lib/efi_loader/efi_disk.c Modified: configs/odroid-c2_defconfig
2016-05-27tools: Add entry for generated tools/bin2header to tools/.gitignoreRobert P. J. Day
Signed-off-by: Robert P. J. Day <[email protected]>
2016-05-27tools/genboardscfg.py: remove bogus import subprocessMasahiro Yamada
Since f6c8f38ec601 ("tools/genboardscfg.py: improve performance more with Kconfiglib"), this tool does not use the subprocess module. Signed-off-by: Masahiro Yamada <[email protected]>
2016-05-27tools/env: no global variable sharing between application and libraryAndreas Fenkart
Signed-off-by: Andreas Fenkart <[email protected]>
2016-05-27rockchip: Check image name for the rksd imageSimon Glass
We need a correct name (rk3288, rk3036) so check this to avoid a crash later. Signed-off-by: Simon Glass <[email protected]>
2016-05-27tools/env: compute size of usable area only onceAndreas Fenkart
for double buffering to work, redundant buffers must have equal size Signed-off-by: Andreas Fenkart <[email protected]>
2016-05-27tools/env: fw_printenv pass value_only as argumentAndreas Fenkart
Signed-off-by: Andreas Fenkart <[email protected]>
2016-05-27tools/env: remove 'extern' from function prototype in fw_env.hAndreas Fenkart
checkpatch complains about in succeding patch. Prefer to fix all declarations in a dedicated patch. Signed-off-by: Andreas Fenkart <[email protected]>
2016-05-27tools/env: pass key as argument to env_aes_cbc_cryptAndreas Fenkart
Signed-off-by: Andreas Fenkart <[email protected]>
2016-05-24tools: zynqmpimage: Add Xilinx ZynqMP boot header generationMichal Simek
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 <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-05-23mkimage: Add a quiet modeSimon Glass
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 <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-05-17Merge git://git.denx.de/u-boot-dmTom Rini
2016-05-17buildman: allow more incremental buildingStephen Warren
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 <[email protected]> Reviewed-by: Tom Rini <[email protected]> Acked-by: Simon Glass <[email protected]> # v1 Tested-by: Simon Glass <[email protected]> # v1 Acked-by: Simon Glass <[email protected]>
2016-05-17imx: tools: imximage: fix CLR bit commandAdrian Alonso
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 <[email protected]>
2016-05-13test, tools: update tbot documentationHeiko Schocher
update tbot documentation in U-Boot, as I just merged the event system into tbots master branch. Signed-off-by: Heiko Schocher <[email protected]>
2016-05-05Fix various typos, scattered over the code.Robert P. J. Day
Spelling corrections for (among other things): * environment * override * variable * ftd (should be "fdt", for flattened device tree) * embedded * FTDI * emulation * controller
2016-05-03mkimage: fix generation of FIT imageAndreas Bießmann
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 <[email protected]> Signed-off-by: Andreas Bießmann <[email protected]>
2016-05-02fit_image: Fix a double close() on the error pathSimon Glass
There is an extra close() call which is not needed. Reported-by: Coverity (CID: 143065) Signed-off-by: Simon Glass <[email protected]>
2016-05-02tools: env: fix config file loading in env libraryAnatolij Gustschin
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 <[email protected]> Cc: Stefano Babic <[email protected]>
2016-05-02Change my mailaddressAndreas Bießmann
I'll switch my mails to my own server, so drop all gmail references. Signed-off-by: Andreas Bießmann <[email protected]>
2016-05-02mkimage: fix argument parsing on BSD systemsAndreas Bießmann
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 <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-03-27tools: env: bug: config structs must be defined in tools libraryAndreas Fenkart
fw_senten/fw_printenv can be compiled as a tools library, excluding the fw_env_main object. Reported-by: Stefano Babic <[email protected]> Signed-off-by: Andreas Fenkart <[email protected]>
2016-03-26tools: env: fw_parse_script: simplify removal of newline/carriage returnAndreas Fenkart
fgets returns when the first '\n' is found Signed-off-by: Andreas Fenkart <[email protected]>
2016-03-26tools: env: split fw_string_blank into skip_chars / skip_blanksAndreas Fenkart
Signed-off-by: Andreas Fenkart <[email protected]>
2016-03-26tools: env: fw_string_blank: return from loop when item foundAndreas Fenkart
Signed-off-by: Andreas Fenkart <[email protected]>
2016-03-26tools: env: replace WHITESPACE macro by isblankAndreas Fenkart
Signed-off-by: Andreas Fenkart <[email protected]>
2016-03-24tools: kwboot: Add xmodem timeout optionKevin Smith
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 <[email protected]> Cc: Stefan Roese <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2016-03-24tools: kwboot: Clean up usage textKevin Smith
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 <[email protected]> Cc: Stefan Roese <[email protected]> Signed-off-by: Stefan Roese <[email protected]>
2016-03-22mkimage: Don't close the file if it wasn't openedSimon Glass
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 <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2016-03-22mkimage: Ensure file is closed in fdt_property_file()Simon Glass
The file that is opened is not closed in all cases. Fix it. Reported-by: Coverity (CID: 138490) Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2016-03-22mkimage: Fix missing free() and close() in fit_build()Simon Glass
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 <[email protected]> Reviewed-by: Tom Rini <[email protected]>