summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2023-01-18binman: Clarify use of False when obtaining dataSimon Glass
This means that the data is not yet available. Update some comments to make this clearer. Signed-off-by: Simon Glass <[email protected]>
2023-01-18binman: Add a test for an inner section with a sizeSimon Glass
This is a slightly different scenario from the existing testSections tests. Add a new test for it. Signed-off-by: Simon Glass <[email protected]>
2023-01-18binman: Support optional external blobsSimon Glass
Some blobs are actually not necessary for the board to work correctly. Add a property to allow this to be indicated. Missing optional blobs do not cause a build failure. Signed-off-by: Simon Glass <[email protected]>
2023-01-18binman: Support new op-tee binary formatSimon Glass
OP-TEE has a format with a binary header that can be used instead of the ELF file. With newer versions of OP-TEE this may be required on some platforms. Add support for this in binman. First, add a method to obtain the ELF sections from an entry, then use that in the FIT support. We then end up with the ability to support both types of OP-TEE files, depending on which one is passed in with the entry argument (TEE=xxx in the U-Boot build). Signed-off-by: Simon Glass <[email protected]>
2023-01-18binman: Add a way to check for a valid ELF fileSimon Glass
Add a function which checks whether data is in ELF format or not. This will be used by binman to check this for entries. Signed-off-by: Simon Glass <[email protected]>
2023-01-18binman: Support optional entriesSimon Glass
Support entries which can be optional depending on their contents. This allows special entry types which appear in the image only when needed. Signed-off-by: Simon Glass <[email protected]>
2023-01-18binman: Use a reference for binman symbols docsSimon Glass
Several etypes have this reference in their documentation. Now that we are using rST, link to the section directly. Signed-off-by: Simon Glass <[email protected]> Suggested-by: Quentin Schulz <[email protected]>
2023-01-18binman: Update entry docsSimon Glass
These have got out of data recently. Regenerate them. Signed-off-by: Simon Glass <[email protected]>
2023-01-18binman: Tidy up comment in fit _gen_nodeSimon Glass
Expand this comment to cover both cases that are supported. Signed-off-by: Simon Glass <[email protected]>
2023-01-18binman: Allow writing section contents to a fileSimon Glass
At present only the image (which is a section) has a filename. Move this implementation to the entry_Section class so that any section can have a filename. With this, the section data is written to a file. This allows parts of an image to be written, along with the entire image. Make a note that this can be used to include the contents of a section in one image in another (later) image. Signed-off-by: Simon Glass <[email protected]>
2023-01-18trace: Update trace-format generator for newer versionSimon Glass
This now includes flags and the layout has changed slightly in recent versions of Linux. Update the generator accordingly. Signed-off-by: Simon Glass <[email protected]>
2023-01-18trace: Adjust flags in proftoolSimon Glass
The flags in this tool don't match the comments or help. Also the variable names are quite confusing. Update them for consistency. Signed-off-by: Simon Glass <[email protected]>
2023-01-18mkimage: Add a few more messages for FIT failuresSimon Glass
Add messages to make it clearer which part of the FIT creation is failing. This can happen when an invalid 'algo' property is provided in the .its file. Signed-off-by: Simon Glass <[email protected]>
2023-01-16rockchip: mkimage: Add rv1126 supportJagan Teki
Add support for rv1126 package header in mkimage tool. Signed-off-by: Jagan Teki <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-01-16rockchip: mkimage: make RC4 key constJohn Keeping
This is read-only data, so mark it as such. Signed-off-by: John Keeping <[email protected]> Reviewed-by: Philipp Tomsich <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2023-01-11CI/Docker: Update to jammy-20221130 tagTom Rini
Update to the latest "jammy" tag. This requires us to list libc6-i386 as a required package to install (for nokia_rx51 tests) that was previously implicit. Signed-off-by: Tom Rini <[email protected]>
2023-01-11Dockerfile: add package texinfoHeinrich Schuchardt
In preparation of adding the infodocs target to our CI install the prerequisite texinfo software package. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-01-05patman: add '--get-maintainer-script' argumentMaxim Cournoyer
This makes it possible to configure a project to use some other location or script than the default scripts/get_maintainer.pl one used in the U-Boot and Linux projects. It can be configured via a .patman configuration file and accepts arguments, as documented. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Maxim Cournoyer <[email protected]>
2023-01-05patman: additionally honor a local .patman config fileMaxim Cournoyer
This enables versioning a project specific patman configuration file. It also makes it possible to declare the project name, which is not a useful thing to do in $HOME/.patman. A new test is added, along updated documentation. Signed-off-by: Maxim Cournoyer <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-05patman: fail early in Setup when provided config file does not existMaxim Cournoyer
Rationale: if the user explicitly provide this argument, they probably intend for it to be used. Signed-off-by: Maxim Cournoyer <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-05patman: set the default config_fname argument value to NoneMaxim Cournoyer
This better matches Python conventions, allowing to easily test whether the optional argument is provided. Signed-off-by: Maxim Cournoyer <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-05patman: import gitutil module where it is neededMaxim Cournoyer
Instead of propagating it from the module entry point (main script). Signed-off-by: Maxim Cournoyer <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-05patman: replace deprecated SafeConfigParser with ConfigParserMaxim Cournoyer
The SafeConfigParser class has been renamed in Python 3.2 to ConfigParser, and the old alias has been deprecated since. Signed-off-by: Maxim Cournoyer <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-05patman: fix pep8 warnings in settings moduleMaxim Cournoyer
Remove extraneous imports, variables and comply to PEP 8 maximum line width, among other PEP 8 changes suggested by Pyflake. Signed-off-by: Maxim Cournoyer <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-05patman: document default 'send' commandMaxim Cournoyer
Document that this command is the default and what it's intended for. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Maxim Cournoyer <[email protected]>
2023-01-05patman: document how to run test suite via pytestMaxim Cournoyer
Pytest offers useful features such as selecting tests by means of a regular expression, or running the pdb debugger upon encountering a test failure. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Maxim Cournoyer <[email protected]>
2023-01-05patman: hide the 'test' command unless test data is availableMaxim Cournoyer
Some tests would fail when the test data is not available, so it doesn't make much sense to expose the action when patman is running outside of the u-boot git checkout. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Maxim Cournoyer <[email protected]>
2023-01-05patman: add pytest configuration fileMaxim Cournoyer
With this change, a user can run the patman test suite using Pytest the same as when using 'patman test': $ cd tools/patman && pytest [...] 44 passed, 8 warnings in 8.87s $ ./patman test Ran 44 tests in 8.460s Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Maxim Cournoyer <[email protected]>
2023-01-05patman: rename main script to __main__.pyMaxim Cournoyer
This allows running the package as a Python module, like e.g.: $ python -m patman It also prevents Pytest from attempting to parse main.py, which would cause errors. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Maxim Cournoyer <[email protected]> Fix up main.py in __init__.py: Signed-off-by: Simon Glass <[email protected]>
2023-01-05patman: invoke the checkpatch.pl script with '--u-boot' and '--strict'Maxim Cournoyer
This resolves 10 out of 11 test failures seen when running './patman test' from the 'tools/patman' subdirectory. This was caused by the .checkpatch.conf configuration file at the root of the project not being picked up. Make the test suite of patman independent from it by always invoking the checkpatch.pl script with the minimally required arguments for the test suite to pass. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Maxim Cournoyer <[email protected]>
2023-01-05patman: locate test data files via __file__ and pathlibMaxim Cournoyer
Previously it would rely on the executing script location, which could break for example when running the tests via 'pytest'. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Maxim Cournoyer <[email protected]>
2023-01-05patman: cosmetic: Fix PEP 8 warnings for the gitutil module.Maxim Cournoyer
This patch fixes all the PEP 8 warnings reported by Pyflake for the gitutil module. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Maxim Cournoyer <[email protected]>
2023-01-05patman: locate README.rst via importlibMaxim Cournoyer
Rationale: this is more robust than assumptions about the file hierarchy layout of the installation of patman, for example on non file-hierarchy standard (FHS) systems such as Guix System or Nix OS. Signed-off-by: Maxim Cournoyer <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-05patman: fix installation of README.rst data fileMaxim Cournoyer
This fixes a regression introduced in commit 74df491051d6 ("buildman: Convert documentation to rST"). Signed-off-by: Maxim Cournoyer <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-05patman: remove extraneous importsMaxim Cournoyer
* tools/patman/main.py: Remove extraneous imports and fix indentation. Signed-off-by: Maxim Cournoyer <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-01-05patman: Switch to setuptoolsSean Anderson
distutils is about to meet its demise [1]. Switch to setuptools. [1] https://peps.python.org/pep-0632/ Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-23kbuild: Remove checking for adhoc CONFIG symbolsTom Rini
At this point all listed adhoc CONFIG symbols have been migrated to Kconfig or removed from the tree or renamed to CFG (or similar). We also now have CI tests that will error on any new introductions, and checkpatch.pl also looks. We can now remove these hooks and related scripts. Signed-off-by: Tom Rini <[email protected]>
2022-12-23checkpatch.pl: Update CONFIG logic in U-Boot sectionTom Rini
Now that all CONFIG symbols are in Kconfig, checkpatch.pl should check for and error on any case of define/undef CONFIG_*. Signed-off-by: Tom Rini <[email protected]>
2022-12-23global: Migrate CONFIG_X86_MRC_ADDR to CFGTom Rini
Perform a simple rename of CONFIG_X86_MRC_ADDR to CFG_X86_MRC_ADDR Signed-off-by: Tom Rini <[email protected]>
2022-12-22env: Rework ENV_IS_EMBEDDED and related logic slightlyTom Rini
- Drop CONFIG_BUILD_ENVCRC as this is never set directly but instead means ENV_IS_EMBEDDED, so reference that in code and rename the Makefile usage to BUILD_ENVCRC. - Remove extra-$(CONFIG_ENV_IS_EMBEDDED) line as it could never be true, and likely why there is an extra- line for CONFIG_ENV_IS_IN_FLASH (the only use case today of embedded environments). - With these slight changes we can then see that using the calculated symbol of ENV_IS_EMBEDDED is the right thing to use in any code which needs to know this situation and can remove CONFIG_ENV_IS_EMBEDDED entirely. Signed-off-by: Tom Rini <[email protected]>
2022-12-08u-boot-initial-env: rework make targetMax Krummenacher
With LTO enabled the U-Boot initial environment is no longer stored in an easy accessible section in env/common.o. I.e. the section name changes from build to build, its content maybe compressed and it is annotated with additional data. Drop trying to read the initial env with elf tools from the compiler specific object file in favour of adding and using a host tool with the only functionality of printing the initial env to stdout. See also: https://lore.kernel.org/all/[email protected]/ Signed-off-by: Max Krummenacher <[email protected]> Acked-by: Pali Rohár <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-08tools: mkimage: add new image type "fdt_legacy"Marc Kleine-Budde
If the user select the image type "flat_dt" a FIT image will be build. This breaks the legacy use case of putting a Flat Device Tree into a legacy u-boot image. Add a new image type "fdt_legacy" to build a legacy u-boot image with a "flat_dt" type. Link: https://lore.kernel.org/all/[email protected] Signed-off-by: Marc Kleine-Budde <[email protected]> Reviewed-by: Sean Anderson <[email protected]>
2022-12-08tools: mkimage: don't print error message "Success" in case of failureMarc Kleine-Budde
In case there's no struct image_type_params::set_header callback, no "errno" will be set. Don't fail with an error message, followed by "Success". Remove the printing of the human readable "errno" value. Signed-off-by: Marc Kleine-Budde <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-08tools: fdtgrep: Fix handle leakMikhail Ilin
The handle "fd" was created in fdtgrep.c:708 by calling the "open" function and is lost in fdtgrep.c:716 and fdtgrep.c:723. Close file descriptor 'fd' before exiting with an error from function utilfdt_read_err_len(const char *filename, char **buffp, off_t *len). Fixes: 1043d0a0296a ("fdt: Add fdtgrep tool") Signed-off-by: Mikhail Ilin <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-08tools: mkimage: Fix nullptr at strchr()Mikhail Ilin
The copy_datafile(ifd, params.datafile) function has been implemented to copy data by reducing the number of lines in the main function. Signed-off-by: Mikhail Ilin <[email protected]>
2022-12-08tool: ifwitool: Fix buffer overflowMikhail Ilin
An incorrect 1st parameter is passed to the fix_member() function. Should use a pointer to the beginning of the parent structure (bpdt or subpart_dir, because are boxed), not to their fields. Otherwise, this leads to an overrun of the structure boundary, since in the fix_member() function, an 'offset' is made, relative to the 1st argument, which itself is an 'offset' from the beginning of the structure. Signed-off-by: Mikhail Ilin <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-08tool: ifwitool: The function localtime() can return NULL.Mikhail Ilin
This will cause the local_time pointer is passed as the 4th argument to function strftime() to also point to NULL. This result in a segmentation fault. Thus, it's necessary to add a check of the local_time pointer to NULL. Found by Linux Verification Center (linuxtesting.org) with SVACE. Signed-off-by: Mikhail Ilin <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-08tools: env: fw_env: Fix unused-result warningJaehoon Chung
Fix unused-result warning about fread. tools/env/fw_env.c: In function ‘find_nvmem_device’: tools/env/fw_env.c:1751:3: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] 1751 | fread(buf, sizeof(buf), 1, fp); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Jaehoon Chung <[email protected]>
2022-12-06CI: Update to gcc-12.2Tom Rini
- Update to gcc-12.2, and cherry-pick a fix in grub for risc-v Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-12-06buildman: Fetch 12.2.0 toolchains by defaultTom Rini
Update the toolchain list to be first 12.2.0 and second 11.1.0 and that's it. Cc: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>