1. 27 4月, 2020 6 次提交
  2. 05 11月, 2019 1 次提交
  3. 25 7月, 2019 3 次提交
    • S
      binman: Convert to use ArgumentParser · 53cd5d92
      Simon Glass 提交于
      This class is the new way to handle arguments in Python. Convert binman
      over to use it. At the same time, introduce commands so that we can
      separate out the different parts of binman functionality.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      53cd5d92
    • S
      binman: Add a utility library for coreboot CBFS · 4997a7ed
      Simon Glass 提交于
      Coreboot uses a simple flash-based filesystem called Coreboot Filesystem
      (CBFS) to organise files used during boot. This allows files to be named
      and their position in the flash to be set. It has special features for
      dealing with x86 devices which typically memory-map their SPI flash to the
      top of 32-bit address space and need a 'boot block' ending there.
      
      Create a library to help create and read CBFS files. This includes a
      writer class, a reader class and associated other helpers. Only a subset
      of features are currently supported.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      4997a7ed
    • S
      binman: Pass the toolpath to tests · 8acce60b
      Simon Glass 提交于
      Tools like ifwitool may not be available in the PATH, but are available in
      the build. These tools may be needed by tests, so allow tests to use the
      --toolpath flag.
      
      Also use this flag with travis.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      8acce60b
  4. 24 7月, 2019 5 次提交
  5. 11 7月, 2019 2 次提交
  6. 08 10月, 2018 2 次提交
    • S
      binman: Run tests concurrently · 11ae93ee
      Simon Glass 提交于
      At present the tests run one after the other using a single CPU. This is
      not very efficient. Bring in the concurrencytest module and run the tests
      concurrently, using one process for each CPU by default. A -P option
      allows this to be overridden, which is necessary for code-coverage to
      function correctly.
      
      This requires fixing a few tests which are currently not fully
      independent.
      
      At some point we might consider doing this across all pytests in U-Boot.
      There is a pytest version that supports specifying the number of processes
      to use, but it did not work for me.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      11ae93ee
    • S
      binman: Add a default path to libfdt.py · ed59e005
      Simon Glass 提交于
      This module is often available in the sandbox_spl build created by
      'make check'. Use this as a default path so that just typing 'binman -t'
      (without setting PYTHONPATH) will generally run the tests.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      ed59e005
  7. 02 8月, 2018 1 次提交
    • S
      binman: Allow creation of entry documentation · fd8d1f79
      Simon Glass 提交于
      Binman supports quite a number of different entries now. The operation of
      these is not always obvious but at present the source code is the only
      reference for understanding how an entry works.
      
      Add a way to create documentation (from the source code) which can be put
      in a new 'README.entries' file.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      fd8d1f79
  8. 09 7月, 2018 3 次提交
  9. 08 6月, 2018 2 次提交
  10. 07 5月, 2018 1 次提交
    • T
      SPDX: Convert all of our single license tags to Linux Kernel style · 83d290c5
      Tom Rini 提交于
      When U-Boot started using SPDX tags we were among the early adopters and
      there weren't a lot of other examples to borrow from.  So we picked the
      area of the file that usually had a full license text and replaced it
      with an appropriate SPDX-License-Identifier: entry.  Since then, the
      Linux Kernel has adopted SPDX tags and they place it as the very first
      line in a file (except where shebangs are used, then it's second line)
      and with slightly different comment styles than us.
      
      In part due to community overlap, in part due to better tag visibility
      and in part for other minor reasons, switch over to that style.
      
      This commit changes all instances where we have a single declared
      license in the tag as both the before and after are identical in tag
      contents.  There's also a few places where I found we did not have a tag
      and have introduced one.
      Signed-off-by: NTom Rini <trini@konsulko.com>
      83d290c5
  11. 13 12月, 2017 3 次提交
    • S
      binman: Support accessing binman tables at run time · 19790632
      Simon Glass 提交于
      Binman construct images consisting of multiple binary files. These files
      sometimes need to know (at run timme) where their peers are located. For
      example, SPL may want to know where U-Boot is located in the image, so
      that it can jump to U-Boot correctly on boot.
      
      In general the positions where the binaries end up after binman has
      finished packing them cannot be known at compile time. One reason for
      this is that binman does not know the size of the binaries until
      everything is compiled, linked and converted to binaries with objcopy.
      
      To make this work, we add a feature to binman which checks each binary
      for symbol names starting with '_binman'. These are then decoded to figure
      out which entry and property they refer to. Then binman writes the value
      of this symbol into the appropriate binary. With this, the symbol will
      have the correct value at run time.
      
      Macros are used to make this easier to use. As an example, this declares
      a symbol that will access the 'u-boot-spl' entry to find the 'pos' value
      (i.e. the position of SPL in the image):
      
         binman_sym_declare(unsigned long, u_boot_spl, pos);
      
      This converts to a symbol called '_binman_u_boot_spl_prop_pos' in any
      binary that includes it. Binman then updates the value in that binary,
      ensuring that it can be accessed at runtime with:
      
         ulong u_boot_pos = binman_sym(ulong, u_boot_spl, pos);
      
      This assigns the variable u_boot_pos to the position of SPL in the image.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      19790632
    • S
      binman: Support enabling debug in tests · 7fe9173b
      Simon Glass 提交于
      The elf module can provide some debugging information to assist with
      figuring out what is going wrong. This is also useful in tests. Update the
      -D option so that it is passed through to tests as well.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      7fe9173b
    • S
      binman: Add a function to read ELF symbols · b50e5611
      Simon Glass 提交于
      In some cases we need to read symbols from U-Boot. At present we have a
      a few cases which does this via 'nm' and 'grep'.
      
      It is better to use objdump since that tells us the size of the symbols
      and also whether it is weak or not.
      
      Add a new module which reads ELF information from files. Update existing
      uses of 'nm' to use this module.
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      b50e5611
  12. 23 11月, 2017 5 次提交
  13. 17 11月, 2017 1 次提交
    • M
      pylibfdt: move pylibfdt to scripts/dtc/pylibfdt and refactor makefile · 15b97f5c
      Masahiro Yamada 提交于
      The pylibfdt is used by dtoc (and, indirectly by binman), but there
      is no reason why it must be generated in the tools/ directory.
      
      Recently, U-Boot switched over to the bundled DTC, and the directory
      structure under scripts/dtc/ now mirrors the upstream DTC project.
      So, scripts/dtc/pylibfdt is the best location.
      
      I also rewrote the Makefile in a cleaner Kbuild style.
      
      The scripts from the upstream have been moved as follows:
      
        lib/libfdt/pylibfdt/setup.py -> scripts/dtc/pylibfdt/setup.py
        lib/libfdt/pylibfdt/libfdt.i -> scripts/dtc/pylibfdt/libfdt.i_shipped
      
      The .i_shipped is coped to .i during building because the .i must be
      located in the objtree when we build it out of tree.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      15b97f5c
  14. 12 7月, 2017 1 次提交
  15. 03 6月, 2017 1 次提交
  16. 12 3月, 2017 1 次提交
  17. 21 1月, 2017 1 次提交
  18. 03 1月, 2017 1 次提交