<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/common/spl, branch next</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/common/spl?h=next</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/common/spl?h=next'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2026-08-13T21:02:57Z</updated>
<entry>
<title>spl: fit: Fill in the image descriptor when skipping a zero-size image</title>
<updated>2026-08-13T21:02:57Z</updated>
<author>
<name>Alexey Charkov</name>
<email>alchark@flipper.net</email>
</author>
<published>2026-07-30T13:24:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b152f193fe10444c151b1e78afa582780af0e7bb'/>
<id>urn:sha1:b152f193fe10444c151b1e78afa582780af0e7bb</id>
<content type='text'>
load_simple_fit() is expected to fill in the image_info structure it
receives upon successful return, but the path which skips a zero-sized
image returns success without touching it. The result is that
spl_fit_record_loadable() then publishes whatever else the descriptor
happened to hold in /fit-images under the skipped image's name: the size
and entry point of the previous loadable, or - for the first one, since
image_info is declared without an initialiser - uninitialised stack.

This is reachable whenever a FIT carries an image node with no content,
which binman produces for an optional blob that was not supplied, such as
an OP-TEE which the build did not provide.

Ensure that the image_info structure is filled in with a size and entry
point before returning, same way as other successful paths do (but
skipping the actual load).

Fixes: 6d99f866952b ("spl: fit: Skip attempting to load 0 length image")
Signed-off-by: Alexey Charkov &lt;alchark@flipper.net&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>of_live: support in SPL</title>
<updated>2026-08-07T12:47:07Z</updated>
<author>
<name>Michael Srba</name>
<email>Michael.Srba@seznam.cz</email>
</author>
<published>2026-05-21T20:37:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=55eb5c8c908cc257eabe136db8038c71fab73ed2'/>
<id>urn:sha1:55eb5c8c908cc257eabe136db8038c71fab73ed2</id>
<content type='text'>
Add CONFIG_SPL_OF_LIVE and if set, initialize of_live in spl.c

Signed-off-by: Michael Srba &lt;Michael.Srba@seznam.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Casey Connolly &lt;casey.connolly@linaro.org&gt;
Link: https://patch.msgid.link/20260521-qcom_spl-v9-2-c108ebe8ff4e@seznam.cz
Signed-off-by: Casey Connolly &lt;casey.connolly@linaro.org&gt;
</content>
</entry>
<entry>
<title>Makefile: add SPL_REMAKE_ELF_LDSCRIPT feature</title>
<updated>2026-08-07T12:47:06Z</updated>
<author>
<name>Michael Srba</name>
<email>Michael.Srba@seznam.cz</email>
</author>
<published>2026-05-21T20:37:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=22fbc9cd07d7f4f353f6c4e14a8a8101d8e0cbe4'/>
<id>urn:sha1:22fbc9cd07d7f4f353f6c4e14a8a8101d8e0cbe4</id>
<content type='text'>
Some platforms (e.g. at least Qualcomm) use the ELF format in creative
ways, including in the bootrom. Make SPL_REMAKE_ELF use a linker script
specified in SPL_REMAKE_ELF_LDSCRIPT (with the previously hardcoded path
as the default).

Signed-off-by: Michael Srba &lt;Michael.Srba@seznam.cz&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Casey Connolly &lt;casey.connolly@linaro.org&gt;
Link: https://patch.msgid.link/20260521-qcom_spl-v9-1-c108ebe8ff4e@seznam.cz
Signed-off-by: Casey Connolly &lt;casey.connolly@linaro.org&gt;
</content>
</entry>
<entry>
<title>spl: atf: fix BL32 entry point for multi-segment TEE images</title>
<updated>2026-07-29T20:52:23Z</updated>
<author>
<name>Daniel Golle</name>
<email>daniel@makrotopia.org</email>
</author>
<published>2026-07-19T01:51:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=de61c59164e0aa1735d37db6ba0db1276e62ac61'/>
<id>urn:sha1:de61c59164e0aa1735d37db6ba0db1276e62ac61</id>
<content type='text'>
binman's split-elf operation records one FIT image node per ELF
segment, all with os = "tee", and only the segment containing the ELF
entry point carries an entry property. Since fdt_add_subnode() inserts
new subnodes in front of existing ones, the /fit-images nodes end up in
reverse recording order, so spl_fit_images_find() would return the
*last* TEE segment and its load address was passed to BL31 as the BL32
entry point.

On RK3588 with an OP-TEE tee.elf consisting of two PT_LOAD segments
this made BL31 (SPD=opteed) ERET into OP-TEE's data segment at
0x30200000 instead of the entry point at 0x30000000, hanging the boot
right after 'BL31: Initializing BL32'.

Prefer the FIT image node which provides an entry property and only
fall back to the first matching node when none of them has one.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>spl: fit: bound the external data size before reading it</title>
<updated>2026-07-21T19:50:54Z</updated>
<author>
<name>Aristo Chen</name>
<email>aristo.chen@canonical.com</email>
</author>
<published>2026-07-08T10:34:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8f71d7170f5c3abadee45683e35ae6d925b6d417'/>
<id>urn:sha1:8f71d7170f5c3abadee45683e35ae6d925b6d417</id>
<content type='text'>
load_simple_fit() loads an image stored as external data by reading
it from the boot device with a transfer sized from the FIT data-size
property. That property is listed in exc_prop[] in image-fit-sig.c,
so it is excluded from the configuration signature and stays under
the control of anyone able to modify the boot medium even when
CONFIG_SPL_FIT_SIGNATURE is enabled. The read happens before
fit_image_verify_with_data() checks the image hash, so an inflated
data-size overruns the destination before the corruption can be
detected. The device-tree overlay path is the sharpest case, because
there the destination is a fixed CONFIG_SPL_LOAD_FIT_APPLY_OVERLAY_BUF_SZ
heap buffer.

Pass the size of the destination into load_simple_fit() and reject
an image whose data does not fit before the read is issued. The
check is done in two places: an early bail on len &gt; max_size, then a
bail on the block-aligned size &gt; max_size. The size check is the
mathematically binding one because size is len rounded up to the
device block length. The early bail exists so that
get_aligned_image_size() never runs on a hostile len, where its int
arithmetic would invoke signed-integer overflow.

For the overlay path the bound is exact: the caller passes the size
of its temporary buffer. For the firmware, loadables, FDT and FPGA
call sites the destination is wherever the load_addr field points,
with no defined upper limit at the call site. Those callers pass
CONFIG_SYS_BOOTM_LEN as a conservative ceiling, matching the same
limit spl_parse_legacy_validate() already applies to legacy images.
It is not a tight bound on the actual capacity at the destination,
just a cap that rejects implausibly-sized data.

Signed-off-by: Aristo Chen &lt;aristo.chen@canonical.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>Kconfig: common: restyle</title>
<updated>2026-06-25T20:13:36Z</updated>
<author>
<name>Johan Jonker</name>
<email>jbx6244@gmail.com</email>
</author>
<published>2026-06-10T14:37:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=89957a4f58192d68cc84a5ee5c3e6357edb228ae'/>
<id>urn:sha1:89957a4f58192d68cc84a5ee5c3e6357edb228ae</id>
<content type='text'>
Restyle all Kconfigs for "common":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker &lt;jbx6244@gmail.com&gt;
</content>
</entry>
<entry>
<title>Merge patch series "Fixes, cleanup and a test for the SPL FIT "full" loader"</title>
<updated>2026-06-17T20:25:13Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2026-06-17T20:25:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=298d44464dc63a4f3f5489150acd7958f359f9bd'/>
<id>urn:sha1:298d44464dc63a4f3f5489150acd7958f359f9bd</id>
<content type='text'>
Francesco Valla &lt;francesco@valla.it&gt; says:

This patch set contains a collection of small fixes and cleanups for the
"full" FIT loader that can be used for the SPL. The main beneficiary is
the falcon boot flow, but the same loader can be used also for U-Boot
proper.

Patch 1 was part of another set, but I decided to put it here for a
better separation between plumbing (here) and new features (there).  I
kept the Reviewed-by tag collected from Simon in that occasion.

Patch 6 introduces a new unit test covering most of the code that is
being cleaned up.

The set was tested on a i.MX93 FRDM, both with and without signature and
to boot both U-Boot proper and the Linux kernel directly (i.e., falcon
boot).

Link: https://lore.kernel.org/r/20260604-spl_fit_full_cleanup-v1-0-ec036b5872e2@valla.it
</content>
</entry>
<entry>
<title>spl: fit: use CONFIG_IS_ENABLED whenever possible</title>
<updated>2026-06-17T20:16:41Z</updated>
<author>
<name>Francesco Valla</name>
<email>francesco@valla.it</email>
</author>
<published>2026-06-04T20:41:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=99b9223948a4361daff09bc973c2d283e48d8bd6'/>
<id>urn:sha1:99b9223948a4361daff09bc973c2d283e48d8bd6</id>
<content type='text'>
Replace #ifdef directives with the CONFIG_IS_ENABLED() for better
coverage and cleaner code. In the mean time, convert the last
IS_ENABLED() to CONFIG_IS_ENABLED().

Signed-off-by: Francesco Valla &lt;francesco@valla.it&gt;
</content>
</entry>
<entry>
<title>spl: fit: drop the 'standalone' load attempt</title>
<updated>2026-06-17T20:16:41Z</updated>
<author>
<name>Francesco Valla</name>
<email>francesco@valla.it</email>
</author>
<published>2026-06-04T20:41:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=cd9c7bc3b4d2bac01c9dbe39171acedf281506cb'/>
<id>urn:sha1:cd9c7bc3b4d2bac01c9dbe39171acedf281506cb</id>
<content type='text'>
The 'standalone =' config property has been deprecated for ~5 years [1],
with the loud warn about the deprecation lasting much more than the
foreseen couple of releases.

Remove the attempt to load the primary image through this property to
save some boot time and code complexity.

[1] https://lore.kernel.org/u-boot/20210401182531.2147653-5-mr.nuke.me@gmail.com/

Signed-off-by: Francesco Valla &lt;francesco@valla.it&gt;
</content>
</entry>
<entry>
<title>spl: fit: rework the FDT load hack</title>
<updated>2026-06-17T20:16:41Z</updated>
<author>
<name>Francesco Valla</name>
<email>francesco@valla.it</email>
</author>
<published>2026-06-04T20:41:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=fffbb6f428ff81236d6092bec0d161904ca50335'/>
<id>urn:sha1:fffbb6f428ff81236d6092bec0d161904ca50335</id>
<content type='text'>
U-Boot proper expects its FDT to be right after its binary image; the
"full" FIT image loader thus adopts an hack to relocate it, ignoring
the specified load address.

Rework the current form of the hack to:

- support the 'sandbox' environment with a sysmem-aware memcpy;
- use the ALIGN() macro instead of raw alignment logic;
- align the FDT to 8-byte boundary as per FDT specifications;
- fix the debug print (which was reporting the source address for the
  relocation instead of the destination one).

Signed-off-by: Francesco Valla &lt;francesco@valla.it&gt;
</content>
</entry>
</feed>
