
On Tue, Mar 13, 2018 at 04:50:35PM +0000, Bryan O'Donoghue wrote:
This patch adds a new type IH_OS_TEE. This new OS type will be used for chain-loading to Linux via a TEE.
With this patch in-place you can generate a bootable OPTEE image like this:
mkimage -A arm -T kernel -O tee -C none -d tee.bin uTee.optee
where "tee.bin" is the input binary prefixed with an OPTEE header and uTee.optee is the output prefixed with a u-boot wrapper header.
This image type "-T kernel -O tee" is differentiated from the existing IH_TYPE_TEE "-T tee" in that the IH_TYPE is installed by u-boot (flow control returns to u-boot) whereas for the new IH_OS_TEE control passes to the OPTEE firmware and the firmware chainloads onto Linux.
Andrew Davis gave the following ASCII diagram:
IH_OS_TEE: (mkimage -T kernel -O tee) Non-Secure Secure
BootROM | ------------- | v SPL | v
U-Boot ------> <----- OP-TEE | V Linux
IH_TYPE_TEE: (mkimage -T tee) Non-Secure Secure
BootROM | ------------- | v SPL -------> <----- OP-TEE | v
U-Boot | V Linux
Signed-off-by: Bryan O'Donoghue bryan.odonoghue@linaro.org Suggested-by: Andrew F. Davis afd@ti.com Cc: Harinarayan Bhatta harinarayan@ti.com Cc: Andrew F. Davis afd@ti.com Cc: Tom Rini trini@konsulko.com Cc: Kever Yang kever.yang@rock-chips.com Cc: Philipp Tomsich philipp.tomsich@theobroma-systems.com Cc: Peng Fan peng.fan@nxp.com Link: http://mrvan.github.io/optee-imx6ul
Applied to u-boot/master, thanks!