<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/tools/binman/ftest.py, 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/ftest.py?h=v2021.01</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/tools/binman/ftest.py?h=v2021.01'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2020-10-29T20:42:59Z</updated>
<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: Set section contents in GetData()</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=63e7ba6c1820def06e7ba88ce357cb605285e70c'/>
<id>urn:sha1:63e7ba6c1820def06e7ba88ce357cb605285e70c</id>
<content type='text'>
Section contents is not set up when ObtainContents() is called, since
packing often changes the layout of the contents. Ensure that the contents
are correctly recorded by making this function regenerate the section. It
is normally only called by the parent section (when packing) or by the
top-level image code, when writing out the image. So the performance
impact is fairly small.

Now that sections have their contents in their 'data' property, update
testSkipAtStartSectionPad() to check it.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Store the original data before compression</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=97c3e9a6faa4483a700b26988bc48c2f9efe8dd6'/>
<id>urn:sha1:97c3e9a6faa4483a700b26988bc48c2f9efe8dd6</id>
<content type='text'>
When compressing an entry, the original uncompressed data is overwritten.
Store it so it is available if needed.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Make section padding consistent with other entries</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7d398bb1c71580da2182f0b820d91950bf4b3d24'/>
<id>urn:sha1:7d398bb1c71580da2182f0b820d91950bf4b3d24</id>
<content type='text'>
At present padding of sections is inconsistent with other entry types, in
that different pad bytes are used.

When a normal entry is padded by its parent, the parent's pad byte is
used. But for sections, the section's pad byte is used.

Adjust logic to always do this the same way.

Note there is still a special case in entry_Section.GetPaddedData() where
an image is padded with the pad byte of the top-level section. This is
necessary since otherwise there would be no way to set the pad byte of
the image, without adding a top-level section to every image.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Move section padding to the parent</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d1d3ad7d1fea137a6fe0709458947ca84ffb124c'/>
<id>urn:sha1:d1d3ad7d1fea137a6fe0709458947ca84ffb124c</id>
<content type='text'>
Each section is padded up to its size, if the contents are not large
enough. Move this logic from _BuildSectionData() to
GetPaddedDataForEntry() so that all the padding is in one place.

With this, the testDual test is working again, so enable it.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Move section-building code into a 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:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=17ea9f35e780d073820a770b8e65641761a31d1f'/>
<id>urn:sha1:17ea9f35e780d073820a770b8e65641761a31d1f</id>
<content type='text'>
Create a new _BuildSectionData() to hold the code that is now in
GetData(), so that it is clearly separated from entry.GetData() base
function.

Separate out the 'pad-before' processing to make this easier to
understand.

Unfortunately this breaks the testDual test. Rather than squash several
patches into an un-reviewable glob, disable the test for now.

This also affects testSkipAtStartSectionPad(), although it still not
quite what it should be. Update that temporarily for now.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Expand docs and test for alignment</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4eec34c91f84d6c3915b300f0688f9b055e04dda'/>
<id>urn:sha1:4eec34c91f84d6c3915b300f0688f9b055e04dda</id>
<content type='text'>
Alignment does form part of the entry once the image is written out, but
within binman the entry contents does not include the padding. Add
documentation to make this clear, as well as a test.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Expand docs and test for padding</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f90d906a275f85e7077d9a30ab82b20676b54645'/>
<id>urn:sha1:f90d906a275f85e7077d9a30ab82b20676b54645</id>
<content type='text'>
Padding becomes part of the entry once the image is written out, but
within binman the entry contents does not include the padding. Add
documentation to make this clear, as well as a test.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>binman: Update testPackExtra with more checks</title>
<updated>2020-10-29T20:42:59Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2020-10-26T23:40:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ef439ed191a0655a86f5b4035cec9cc57e97d8b1'/>
<id>urn:sha1:ef439ed191a0655a86f5b4035cec9cc57e97d8b1</id>
<content type='text'>
Check the contents of each section to make sure it is actually in the
right place.

Also fix a whitespace error in the .dts file.

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