[U-Boot] [U-Boot, v4, 07/11] spl: add support to booting with OP-TEE
Kever Yang
kever.yang at rock-chips.com
Mon Jan 15 03:25:00 UTC 2018
Bryan,
On 01/12/2018 11:10 PM, Bryan O'Donoghue wrote:
>
>
> On 12/01/18 11:27, Philipp Tomsich wrote:
>>> OP-TEE is an open source trusted OS, in armv7, its loading and
>>> running are like this:
>>> loading:
>>> - SPL load both OP-TEE and U-Boot
>>> running:
>>> - SPL run into OP-TEE in secure mode;
>>> - OP-TEE run into U-Boot in non-secure mode;
>>>
>>> More detail:
>>> https://github.com/OP-TEE/optee_os
>>> and search for 'boot arguments' for detail entry parameter in:
>>> core/arch/arm/kernel/generic_entry_a32.S
>>>
>>> Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
>>> ---
>>>
>>> Changes in v4:
>>> - use NULL instead of '0'
>>> - add fdt_addr as arg2 of entry
>>>
>>> Changes in v3: None
>>> Changes in v2:
>>> - Using new image type for op-tee
>>>
>>> common/spl/Kconfig | 7 +++++++
>>> common/spl/Makefile | 1 +
>>> common/spl/spl.c | 9 +++++++++
>>> common/spl/spl_optee.S | 13 +++++++++++++
>>> include/spl.h | 13 +++++++++++++
>>> 5 files changed, 43 insertions(+)
>>> create mode 100644 common/spl/spl_optee.S
>>>
>>
>> Acked-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> https://lists.denx.de/listinfo/u-boot
>>
>
> Kever, Philipp
>
> I have patches that define a IH_TYPE_OPTEE as a bootable OPTEE image
> (one that never returns to u-boot).
I don't understand how you use OP-TEE in your project.
You are using U-Boot 'bootm' cmd to run into OP-TEE and 'PC' never get
out of the OP-TEE os?
The upstream OP-TEE will always be back to the pointer in 'lr'.
We are using boot flow like ARMv8 for OP-TEE in armv7, could you
introduce your flow?
bootrom(BL1, secure word)->SPL(BL2, secure word)->OP-TEE(BL31/32, secure
word)
->U-Boot(BL33, non-secure word)->Linux kernel(non secure word).
By the OP-TEE design we need jump to U-Boot with using 'lr' as pointer
to next stage, that's why I add
new type for SPL image:
https://github.com/OP-TEE/optee_os/blob/master/core/arch/arm/kernel/generic_entry_a32.S#L186
Thanks,
- Kever
>
> The image type allows bootm to identify the type of binary it is
> booting and perform image-specific checks.
>
> On this patch though, do you guys really need a new image type for SPL
> ? Couldn't you use IH_TYPE_TEE in the same way ?
>
> +#if CONFIG_IS_ENABLED(OPTEE)
> + case IH_TYPE_TEE:
> + debug("Jumping to U-Boot via OP-TEE\n");
> + spl_optee_entry(NULL, NULL, spl_image->fdt_addr,
> + (void *)spl_image.entry_point);
> + break;
> +#endif
>
> i.e. it appears to me as if you don't actually do anything
> image-specific with IH_OS_OP_TEE that couldn't be done with the
> existing IH_TYPE_TEE... as above you use spl_image->fdt_addr and
> spl_image.entry_point - as opposed to any header specific data from
> the binary you are booting..
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
More information about the U-Boot
mailing list