[PATCH v2 1/2] ARM: bootm: Add support for starting Linux through OpTee-OS on ARMv7a

Marek Vasut marek.vasut at mailbox.org
Tue Sep 9 05:02:27 CEST 2025


On 6/30/25 7:18 AM, Heinrich Schuchardt wrote:
> Am 30. Juni 2025 02:08:05 MESZ schrieb Marek Vasut <marek.vasut at mailbox.org>:
>> 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.
> 
> Hello Marek,
> 
> Could you, please, add a documentation change to the series. This would allow reviewers to test your proposal.

The fitImage TEE bundling is already documented in the fit spec:

https://fitspec.osfw.foundation/

This here is an application:

"
/dts-v1/;
/ {
	...
	images {
		...
		tee-1 {
			description = "OP-TEE";
			data = /incbin/ ("/optee_os/out/arm-plat-stm32mp1/core/tee-raw.bin") ;
			type = "tee";
			arch = "arm";
			compression = "none";
			os = "tee";
			load = <0xde000000>;
			entry = <0xde000000>;
			...
		};
	};

	configurations {
		default = "conf-1";
		conf-1 {
			...
			loadables = "tee-1";
			...
		};
	};
};
"

"
$ mkimage -E -f fit-image.its fitImage
"

I can add that part to STM32 board docs ?

> Furthermore, please, provide tests on QEMU.
The test would require booting Linux, how do you propose we test that in 
CI ?


More information about the U-Boot mailing list