<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/tools/binman/binman.py, branch v2018.01-rc2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/tools/binman/binman.py?h=v2018.01-rc2</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/tools/binman/binman.py?h=v2018.01-rc2'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2017-12-13T02:53:45Z</updated>
<entry>
<title>binman: Support accessing binman tables at run time</title>
<updated>2017-12-13T02:53:45Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-11-14T01:55:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=19790632648be6fff7a4898350bd52565bde7c96'/>
<id>urn:sha1:19790632648be6fff7a4898350bd52565bde7c96</id>
<content type='text'>
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 &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Support enabling debug in tests</title>
<updated>2017-12-13T02:53:45Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-11-14T01:55:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7fe9173be78f32047bc38f2d68ac86e871dbfcae'/>
<id>urn:sha1:7fe9173be78f32047bc38f2d68ac86e871dbfcae</id>
<content type='text'>
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 &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Add a function to read ELF symbols</title>
<updated>2017-12-13T02:53:45Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-11-14T01:54:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b50e5611a6b5dff4bc2ae47d332ba0d046e2a782'/>
<id>urn:sha1:b50e5611a6b5dff4bc2ae47d332ba0d046e2a782</id>
<content type='text'>
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 &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Return non-zero exit code on test failure</title>
<updated>2017-11-23T01:05:38Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-11-13T04:52:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9677faa34ee81c7abb4c08b0dc4ce4aace5473fc'/>
<id>urn:sha1:9677faa34ee81c7abb4c08b0dc4ce4aace5473fc</id>
<content type='text'>
Return exit code 1 when test fail so that callers can detect this.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Check for files missing from test coverage</title>
<updated>2017-11-23T01:05:38Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-11-13T04:52:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a25ebed36fcf95d09629e8d2e95fdf4907798fb5'/>
<id>urn:sha1:a25ebed36fcf95d09629e8d2e95fdf4907798fb5</id>
<content type='text'>
Files that are never imported are not shown in the test-coverage report.
Detect these and show an error.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Add tests for importlib availability</title>
<updated>2017-11-23T01:05:38Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-11-13T04:52:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=934cdcfb1b1cac6a6c987f3f91e341c713770224'/>
<id>urn:sha1:934cdcfb1b1cac6a6c987f3f91e341c713770224</id>
<content type='text'>
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 &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Append to PYTHONPATH when running test coverage</title>
<updated>2017-11-23T01:05:38Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-11-13T04:52:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5a3f2226043cd46d446ab6eba39e47d131b47175'/>
<id>urn:sha1:5a3f2226043cd46d446ab6eba39e47d131b47175</id>
<content type='text'>
Rather that overwrite this, append to it, in case the caller has already
set up the path correctly.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Rename tests to ftest</title>
<updated>2017-11-23T01:05:38Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-11-13T04:52:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=680e3312c23b72142a767c91eb1d74d36e1094fe'/>
<id>urn:sha1:680e3312c23b72142a767c91eb1d74d36e1094fe</id>
<content type='text'>
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 &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>pylibfdt: move pylibfdt to scripts/dtc/pylibfdt and refactor makefile</title>
<updated>2017-11-17T12:43:32Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2017-10-17T04:42:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=15b97f5c5e6d88e0560c6928f3acd01c999a494d'/>
<id>urn:sha1:15b97f5c5e6d88e0560c6928f3acd01c999a494d</id>
<content type='text'>
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 -&gt; scripts/dtc/pylibfdt/setup.py
  lib/libfdt/pylibfdt/libfdt.i -&gt; 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: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
</content>
</entry>
<entry>
<title>binman: Put our local modules ahead of system modules</title>
<updated>2017-07-11T16:08:20Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-06-21T03:28:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7feccfdc45d5708ffd682a025d6d6e8907f1a97a'/>
<id>urn:sha1:7feccfdc45d5708ffd682a025d6d6e8907f1a97a</id>
<content type='text'>
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 &lt;sjg@chromium.org&gt;
Reported-by: Kevin Hilman &lt;khilman@baylibre.com&gt;
Acked-by: Kevin Hilman &lt;khilman@baylibre.com&gt;
</content>
</entry>
</feed>
