<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/tools/binman, branch v2021.01</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/tools/binman?h=v2021.01</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/tools/binman?h=v2021.01'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2020-11-05T16:11:31Z</updated>
<entry>
<title>binman: Correct calculation for image-pos</title>
<updated>2020-11-05T16:11:31Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-11-02T19:55:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=08594d49860c335f39d4f7797cac766ac8b57c56'/>
<id>urn:sha1:08594d49860c335f39d4f7797cac766ac8b57c56</id>
<content type='text'>
A recent change removed the base offset from the calculation. This is
used on coral to find the FSP-S binary. Fix it.

Fixes: a9fad07d4b8 ("binman: Avoid reporting image-pos with compression")

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Update intel_ifwi to store padded section</title>
<updated>2020-11-05T16:11:31Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-11-02T19:55:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=271a08380634f2def4a6b148187cce6693e878a5'/>
<id>urn:sha1:271a08380634f2def4a6b148187cce6693e878a5</id>
<content type='text'>
With a recent change this entry stores only part of the section data,
leaving out the padding at the end. Fix this by using GetPaddedData() to
get the data. Add this function to the base Entry class also.

Fixes: d1d3ad7d1fe ("binman: Move section padding to the parent")

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Avoid calculated section data repeatedly</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2424057b2ad0eacdd2d81e35e7bea5df97802b8f'/>
<id>urn:sha1:2424057b2ad0eacdd2d81e35e7bea5df97802b8f</id>
<content type='text'>
Refactor the implementation slightly so that section data is not
rebuilt when it is already available.

We still have GetData() set up to rebuild the section, since we don't
currently track when things change that might affect a section. For
example, if a blob is updated within a section, we must rebuild it.
Tracking that would be possible but is more complex, so it left for
another time.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Support compression of sections</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8f5ef89f00133df6381e60f0415269ded39647c1'/>
<id>urn:sha1:8f5ef89f00133df6381e60f0415269ded39647c1</id>
<content type='text'>
With the previous changes, it is now possible to compress entire
sections. Add some tests to check that compression works correctly,
including updating the metadata.

Also update the documentation.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Use the actual contents in CheckSize()</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0ff83da634c4e4a8e510c5b2434cab88cb33c164'/>
<id>urn:sha1:0ff83da634c4e4a8e510c5b2434cab88cb33c164</id>
<content type='text'>
At present this function adds up the total size of entries to work out the
size of a section's contents. With compression this is no-longer enough.

We may as well bite the bullet and build the section contents instead.
Call _BuildSectionData() to get the (possibly compressed) contents and
GetPaddedData() to get the same but with padding added.

Note that this is inefficient since the section contents is calculated
twice. Future work will improve this.

This affects testPackOverlapMap() since the error is reported with a
different section size now (enough to hold the contents). Update that at
the same time.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Update CheckEntries() for compressed sections</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b004bf3906e6f80b80558424e4a3ed8767103e37'/>
<id>urn:sha1:b004bf3906e6f80b80558424e4a3ed8767103e37</id>
<content type='text'>
At present this function assumes that the size of a section is at least as
large as its contents. With compression this is often not the case. Relax
this constraint by using the uncompressed size, if available.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Drop CheckEntries()</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0b65769c2e31ae7b3ee6015b1f7602e4e1ac56a6'/>
<id>urn:sha1:0b65769c2e31ae7b3ee6015b1f7602e4e1ac56a6</id>
<content type='text'>
This method introduces a separation between packing and checking that is
different for sections. In order to handle compression properly, we need
to be able to deal with a section's size being smaller than the
uncompressed size of its contents. It is easier to make this work if
everything happens in the Pack() method.

The only real user of CheckEntries() is entry_Section and it can call it
directly. Drop the call from 'control' and handle it locally.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Call CheckSize() from the section's Pack() method</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=93f3c2ea1463f5ad4fff9ada8675078d326db347'/>
<id>urn:sha1:93f3c2ea1463f5ad4fff9ada8675078d326db347</id>
<content type='text'>
At present CheckSize() is called from the function that packs the entries.
Move it up to the main Pack() function so that _PackEntries() can just
do the packing.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Drop the Entry.CheckSize() method</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=601b69aa8a56168ff25988bbf9cd2d457f13861d'/>
<id>urn:sha1:601b69aa8a56168ff25988bbf9cd2d457f13861d</id>
<content type='text'>
This is only used by entry_Section and that class already calls it. Avoid
calling it twice. Also drop it from the documentation.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Move sort and expand to the main Pack() function</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=c1af7a86b380c75c0718c80e1997293913c6095a'/>
<id>urn:sha1:c1af7a86b380c75c0718c80e1997293913c6095a</id>
<content type='text'>
At present sorting and expanding entries are side-effects of the
CheckEntries() function. This is a bit confusing, as 'checking' would
not normally involve making changes.

Move these steps into the Pack() function instead.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
</feed>
