<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/arch/arm/lib, branch v2026.01</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/arch/arm/lib?h=v2026.01</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/arch/arm/lib?h=v2026.01'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2025-11-06T19:35:51Z</updated>
<entry>
<title>Merge patch series "ARM: bootm: Add support for starting Linux through OPTEE-OS on ARMv7a"</title>
<updated>2025-11-06T19:35:51Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2025-11-06T17:32:57Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ad9240cb9df25fa9059c32dea7b4d739525e76f2'/>
<id>urn:sha1:ad9240cb9df25fa9059c32dea7b4d739525e76f2</id>
<content type='text'>
This series from Marek Vasut &lt;marek.vasut@mailbox.org&gt; brings some
enhancements to use cases using OPTEE-OS on ARMv7a platforms, some of
which already existed on ARMv8.

Link: https://lore.kernel.org/r/20251030212359.12824-1-marek.vasut@mailbox.org
</content>
</entry>
<entry>
<title>spl: fit: Add ability to jump to Linux via OPTEE-OS on ARMv7a</title>
<updated>2025-11-06T17:26:18Z</updated>
<author>
<name>Marek Vasut</name>
<email>marek.vasut@mailbox.org</email>
</author>
<published>2025-10-30T21:23:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=be0e9ac7c8a141fbc52f658fbfdd96cf2c27d0de'/>
<id>urn:sha1:be0e9ac7c8a141fbc52f658fbfdd96cf2c27d0de</id>
<content type='text'>
Add support for jumping to Linux kernel through OPTEE-OS on ARMv7a to SPL.
This is already supported on ARMv8a, this patch adds the ARMv7a support.
Extend the SPL fitImage loader to record OPTEE-OS load address and in case
the load address is non-zero, use the same bootm-optee.S code used by the
U-Boot fitImage jump code to start OPTEE-OS first and jump to Linux next.

Signed-off-by: Marek Vasut &lt;marek.vasut@mailbox.org&gt;
</content>
</entry>
<entry>
<title>ARM: bootm: Add support for starting Linux through OPTEE-OS on ARMv7a</title>
<updated>2025-11-06T17:26:18Z</updated>
<author>
<name>Marek Vasut</name>
<email>marek.vasut@mailbox.org</email>
</author>
<published>2025-10-30T21:23:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=20861863eb3010581b12e9a77eb7958460edaa82'/>
<id>urn:sha1:20861863eb3010581b12e9a77eb7958460edaa82</id>
<content type='text'>
Add support for jumping to Linux kernel through OPTEE-OS on ARMv7a.
This is only supported if U-Boot runs in PL1 secure. This change adds
two components, one is fitImage OPTEE-OS loadable handler, which makes
a note of OPTEE-OS being loaded and stores the load address for later
jump to it. The second part is the actual jump to Linux through OPTEE-OS.
The jump through OPTEE-OS requires set up of multiple CPU registers, r1
and r2 are passed through, r0 and r3 have to be set to 0, lr is set to
Linux kernel entry point. This setup is done by new assembler function
boot_jump_linux_via_optee().

The boot_jump_linux_via_optee() also includes STM32MP13xx late TZC
configuration write, this cannot be moved easily, hence the ifdef.

Signed-off-by: Marek Vasut &lt;marek.vasut@mailbox.org&gt;
</content>
</entry>
<entry>
<title>spl: remove usage of CMD_BOOTx from image parsing</title>
<updated>2025-11-03T17:52:05Z</updated>
<author>
<name>Anshul Dalal</name>
<email>anshuld@ti.com</email>
</author>
<published>2025-10-27T14:17:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=823e453987a6590af67e2226ad3e73fb399c205d'/>
<id>urn:sha1:823e453987a6590af67e2226ad3e73fb399c205d</id>
<content type='text'>
Using CMD_* configs from spl doesn't make logical sense. Therefore
this patch replaces the checks for CMD_BOOTx with newly added library
symbols LIB_BOOT[IMZ] and SPL_LIB_BOOT[IMZ] which are enabled by their
respective CMD_* or SPL_* counterparts.

On platforms with non-secure falcon mode, SPL_BOOTZ is enabled by
default for 32-bit ARM systems and SPL_BOOTI is enabled by default for
64-bit ARM and RISCV.

The respective C files (image.c/zimage.c) are compiled based on library
symbols $(PHASE_)LIB_BOOTx instead which are in turn selected by both
CMD_BOOTx and SPL_BOOTx as required.

Signed-off-by: Anshul Dalal &lt;anshuld@ti.com&gt;
Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>cmd: spl: Remove ATAG support from this command</title>
<updated>2025-10-03T22:55:44Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2025-09-15T19:05:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=601cebc29d2a41846bbad36453b97b065db656dd'/>
<id>urn:sha1:601cebc29d2a41846bbad36453b97b065db656dd</id>
<content type='text'>
While we continue to have some systems which support extremely legacy
OS booting methods, we do not have use cases for supporting this in
Falcon mode anymore. Remove this support and references from the
documentation.

Co-developed-by: Anshul Dalal &lt;anshuld@ti.com&gt;
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>bootstage: stash boot records to reserved mem before kernel handoff</title>
<updated>2025-09-26T22:48:10Z</updated>
<author>
<name>Vishnu Singh</name>
<email>v-singh1@ti.com</email>
</author>
<published>2025-09-16T07:25:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b6d9aa6aafc0ae2f551de301e1f371c4814cef68'/>
<id>urn:sha1:b6d9aa6aafc0ae2f551de301e1f371c4814cef68</id>
<content type='text'>
U-Boot now stashes its bootstage buffer into a reserved memory region
whenever CONFIG_BOOTSTAGE_STASH is enabled, just before exiting to the
kernel. This allows a post boot parser to read a unified timeline
(SPL→U-Boot→Kernel→MCU/DSP) directly from DDR, enabling standardized
and repeatable boot-time profiling across releases and SoCs.

Change summary:
 Call bootstage_stash_default() in announce_and_cleanup()
  when CONFIG_BOOTSTAGE_STASH is set.

Reference boot-time parser utility:
 https://github.com/v-singh1/boot-time-parser

Sample boot time report:
    +--------------------------------------------------------------------+
                     am62xx-evm Boot Time Report
    +--------------------------------------------------------------------+
    Device Power On         : 0 ms
    SPL Time                : 843 ms
    U-Boot Time             : 2173 ms
    Kernel handoff time     : 462 ms
    Kernel Time             : 2522 ms
    Total Boot Time         : 6000 ms
    +--------------------------------------------------------------------+

    +--------------------------------------------------------------------+
                     Bootloader and Kernel Boot Records
    +--------------------------------------------------------------------+
    BOOTSTAGE_AWAKE                =      0 ms (+  0 ms)
    BOOTSTAGE_START_UBOOT_F        =    843 ms (+  0 ms)
    BOOTSTAGE_ACCUM_DM_F           =    843 ms (+  0 ms)
    BOOTSTAGE_START_UBOOT_R        =   1951 ms (+1108 ms)
    BOOTSTAGE_ACCUM_DM_R           =   1951 ms (+  0 ms)
    BOOTSTAGE_NET_ETH_START        =   2032 ms (+ 81 ms)
    BOOTSTAGE_NET_ETH_INIT         =   2053 ms (+ 21 ms)
    BOOTSTAGE_MAIN_LOOP            =   2055 ms (+  2 ms)
    BOOTSTAGE_START_MCU            =   2661 ms (+606 ms)
    BOOTSTAGE_BOOTM_START          =   2959 ms (+298 ms)
    BOOTSTAGE_RUN_OS               =   3016 ms (+ 57 ms)
    BOOTSTAGE_BOOTM_HANDOFF        =   3016 ms (+  0 ms)
    BOOTSTAGE_KERNEL_START         =   3478 ms (+462 ms)
    BOOTSTAGE_KERNEL_END           =   6000 ms (+2522 ms)
    +--------------------------------------------------------------------+

    +--------------------------------------------------------------------+
                     MCU Boot Records
    +--------------------------------------------------------------------+
    MCU_AWAKE                      =   2661 ms (+  0 ms)
    BOARD_PERIPHERALS_INIT         =   2661 ms (+  0 ms)
    MAIN_TASK_CREATE               =   2661 ms (+  0 ms)
    FIRST_TASK                     =   2662 ms (+  1 ms)
    DRIVERS_OPEN                   =   2662 ms (+  0 ms)
    BOARD_DRIVERS_OPEN             =   2662 ms (+  0 ms)
    IPC_SYNC_FOR_LINUX             =   6636 ms (+3974 ms)
    IPC_REGISTER_CLIENT            =   6636 ms (+  0 ms)
    IPC_SUSPEND_TASK               =   6636 ms (+  0 ms)
    IPC_RECEIVE_TASK               =   6636 ms (+  0 ms)
    IPC_SYNC_ALL                   =   6787 ms (+151 ms)
    +--------------------------------------------------------------------+

Signed-off-by: Vishnu Singh &lt;v-singh1@ti.com&gt;
</content>
</entry>
<entry>
<title>arm64: Properly clear BSS</title>
<updated>2025-09-09T18:43:26Z</updated>
<author>
<name>Ilias Apalodimas</name>
<email>ilias.apalodimas@linaro.org</email>
</author>
<published>2025-09-02T06:08:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5d01a971804e3f7f7d320870acf5418bd8497535'/>
<id>urn:sha1:5d01a971804e3f7f7d320870acf5418bd8497535</id>
<content type='text'>
Brock reports a breakage on an RK3568 SoC. His patch is
correct but he never followed up on the requested changes.

We currently use ldr to calculate the address of __bss_start and
__bss_end. However the absolute addresses of the literal pool are never
relocated and we end up clearing the wrong memory section. Use
PC-relative addressing instead.

Link: https://lore.kernel.org/u-boot/zfknlzcemnnaka5w2er5wjwefwoidrpndc4gjhx6d5xr6nlcjr@pasfayjiutii/

Suggested-by: brock_zheng &lt;yzheng@techyauld.com&gt;
Reported-by: brock_zheng &lt;yzheng@techyauld.com&gt;
Signed-off-by: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;
</content>
</entry>
<entry>
<title>arm: Fix swtiching typo</title>
<updated>2025-08-30T18:45:33Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2025-08-18T06:47:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d20b8792c5228a8d9f20943660d61ea5b2c60232'/>
<id>urn:sha1:d20b8792c5228a8d9f20943660d61ea5b2c60232</id>
<content type='text'>
This should say 'switching', so fix it.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
Reviewed-by: Quentin Schulz &lt;quentin.schulz@cherry.de&gt;
Signed-off-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
</content>
</entry>
<entry>
<title>env: Rename SYS_RELOC_GD_ENV_ADDR to ENV_RELOC_GD_ENV_ADDR</title>
<updated>2025-06-20T18:15:08Z</updated>
<author>
<name>Marek Vasut</name>
<email>marek.vasut+renesas@mailbox.org</email>
</author>
<published>2025-06-09T19:26:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=123682c7651d187113455cb01d396825c08619c4'/>
<id>urn:sha1:123682c7651d187113455cb01d396825c08619c4</id>
<content type='text'>
Rename the variable and add ENV_ prefix, so that all configuration
options which are related to environment would have an CONFIG_ENV_
prefix. No functional change.

Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
Signed-off-by: Marek Vasut &lt;marek.vasut+renesas@mailbox.org&gt;
</content>
</entry>
<entry>
<title>arm: add initjmp()</title>
<updated>2025-04-23T19:19:44Z</updated>
<author>
<name>Jerome Forissier</name>
<email>jerome.forissier@linaro.org</email>
</author>
<published>2025-04-18T14:09:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0245d2ab7d08cd360d44f131b20aa817799a4394'/>
<id>urn:sha1:0245d2ab7d08cd360d44f131b20aa817799a4394</id>
<content type='text'>
Implement initjmp() for Arm. a non-standard extension to setjmp()/
longjmp() allowing to initialize a jump buffer with a function pointer
and a stack pointer. This will be useful to later introduce threads.
With this new function it becomes possible to longjmp() to a particular
function pointer (rather than to a point previously reached during
program execution as is the case with setjmp()), and with a custom stack.
Both things are needed to spin off a new thread. Then the usual
setjmp()/longjmp() pair is enough to save and restore a context, i.e.,
switch thread.

Signed-off-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
Acked-by: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;
</content>
</entry>
</feed>
