17 Jan, 2018
1 commit
-
In some cases when "more" is told to page a given file it will prepend
the output with:
::::::::::::::
/PATH/TO/THE/FILE
::::::::::::::And when this happens the output will not match the expected length.
Further, if we use a different pager we will instead fail the coverage
tests as we will not have 100% coverage. Update the help test to remove
the string in question.Reviewed-by: Simon Glass
Signed-off-by: Tom Rini
16 Jan, 2018
1 commit
-
The system device-tree compiler may not be new enough to run the tests we
use in U-Boot (e.g. with binman). Allow use of a DTC environment variable
to point to the correct dtc. If not defined, the dtc on the default PATH
is used.Signed-off-by: Simon Glass
13 Dec, 2017
9 commits
-
Add this feature to the README.
Signed-off-by: Simon Glass
Reviewed-by: Lukasz Majewski -
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: 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: Simon Glass
-
This is only 3 bytes long which is not enough to hold two symbol values,
needed to test the binman symbols feature. Increase it to 15 bytes.Using very small regions is useful since we can easily compare them in
tests and errors are fairly easy to diagnose.Signed-off-by: Simon Glass
-
For testing we need to build some ELF files containing binman symbols. Add
these to the Makefile and check in the binaries:u_boot_binman_syms - normal, valid ELF file
u_boot_binman_syms_bad - missing the __image_copy_start symbol
u_boot_binman_syms_size - has a binman symbol with an invalid sizeSigned-off-by: Simon Glass
-
This feature is now supported. Drop the incorrect comment.
Signed-off-by: Simon Glass
-
This file contains SPL image without a device tree. Add support for
including this in images.Signed-off-by: Simon Glass
-
This file contains the SPL device tree. Add support for including this by
itself in images.Signed-off-by: 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: Simon Glass
23 Nov, 2017
15 commits
-
Return exit code 1 when test fail so that callers can detect this.
Signed-off-by: Simon Glass
-
MRC (Memory Reference Code) is a binary blob used to set up the SDRAM
controller on some Intel boards. Add a test for this feature.With this test coverage on binman is back up to 100%.
Signed-off-by: Simon Glass
-
Add a test for this feature. It allows SPL to hold a pointer to the
microcode block. This is used for 64-bit U-Boot on x86.Signed-off-by: Simon Glass
-
This allows us to put the 16-bit x86 start-up code in SPL. Add a test for
it.Signed-off-by: Simon Glass
-
Add a test that we can pad the BSS with zero bytes.
Signed-off-by: Simon Glass
-
Files that are never imported are not shown in the test-coverage report.
Detect these and show an error.Signed-off-by: Simon Glass
-
Make a minor tweak to fix test coverage.
Signed-off-by: Simon Glass
-
Add a main program so that the tests can be executed directly, without
going through the main binman program.Signed-off-by: Simon Glass
-
Add a test that the 'entry' module works with or without importlib.
The tests are numbered so that they are executed in the correct order.Signed-off-by: Simon Glass
-
There is a little check at the top of entry.py which decides if importlib
is available. At present this has no test coverage. To add this we will
need to import the module twice, once with importlib and once without.
In preparation for allowing a test to control the importing of this
module, remove all global imports of the 'entry' module.Signed-off-by: Simon Glass
-
Rather that overwrite this, append to it, in case the caller has already
set up the path correctly.Signed-off-by: Simon Glass
-
At present these tests use the same filename as patman. This adds
confusion when running all tests, since error messages look very similar.
In fact binman tries to run the wrong tests at present.Rename the tests.
Signed-off-by: Simon Glass
-
These test programs are includedd as binary files in U-Boot to avoid
having to build them (and associated toolchain differences). Instructions
on building are in the files themselves, but it seems better to provide
a Makefile which can be manually run when desired.Add a Makefile, separate from the normal build system, to handle this.
Signed-off-by: Simon Glass
-
The process is not obvious. Add a little section to explain how to move a
board to use binman.Signed-off-by: Simon Glass
-
There is a debugging option in the Makefile to allow people to figure out
which u-boot.dtsi files are used in the build. But is it not easy to use
since it only shows files it finds, not those it is looking for. Update it
and update the mention of it to the docs.Signed-off-by: Simon Glass
17 Nov, 2017
1 commit
-
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_shippedThe .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: Masahiro Yamada
16 Sep, 2017
1 commit
-
This adds a new entry type for Intel Video BIOS Table.
Signed-off-by: Bin Meng
Reviewed-by: Simon Glass
12 Jul, 2017
1 commit
-
If a system module is named the same as one of those used by binman we
currently pick the system module. Adjust the ordering so that our modules
are chosen instead.The module conflict reported was 'tools' from jira-python. I cannot access
that package to test it.Signed-off-by: Simon Glass
Reported-by: Kevin Hilman
Acked-by: Kevin Hilman
03 Jun, 2017
7 commits
-
This file was used to select between the normal and fallback libfdt
implementations. Now that we only have one, it is not needed.Drop it and fix up all users.
Signed-off-by: Simon Glass
-
Since fdt is the name of a module, use a different name for variables to
avoid a conflict.Signed-off-by: Simon Glass
-
Previously we were sometimes forced to collate x86 microcode due to not
having access to the offset of each individual piece. Now that we never
use fdt_fallback, we don't have this problem. Drop this special case from
the code.Signed-off-by: Simon Glass
-
Drop this now-unused library and associated tests.
Signed-off-by: Simon Glass
-
Use the new library if available, while retaining backwards compatibility
with the old library for now.Signed-off-by: Simon Glass
-
The tests don't currently cover all the different property types. Add a
new test which checks each property type in turn, to make sure each has
the correct type and value.Signed-off-by: Simon Glass
-
Since fdt is a module it conflicts with this variable name and prevents it
being used in tests. Rename the variable.Signed-off-by: Simon Glass
10 Apr, 2017
2 commits
-
With recent changes, some x86-specific rom tests of binman fail to
run. Fix it by adding missing filenames in corresponding entries.Signed-off-by: Bin Meng
Reviewed-by: Simon Glass -
Now that we have added file names from Kconfig in x86 u-boot.dtsi,
update binman to avoid using hard-coded names.Signed-off-by: Stefan Roese
Cc: Bin Meng
Cc: Simon Glass
Reviewed-by: Bin Meng
12 Mar, 2017
1 commit
-
This tool does not work with Python 3. Change the shebang to make sure the
script is run by a Python 2 interpreter.Signed-off-by: Jörg Krause
07 Feb, 2017
1 commit
-
On platforms which do not require microcode in SPL, handle such
case like U-Boot proper.Signed-off-by: Bin Meng
Reviewed-by: Simon Glass