Getting Started with OP-TEE for QEMU ARMv8
Go to below link for more information:
https://blooggspott.blogspot.com/2022/04/op-tee-3.html
OPTEE is supported on different platforms which is a mentioned in below list.
PLATFORM and PLATFORM_FLAVOR are the flags used to select different platforms and chips.
Below are the platforms supported:ARM Juno Board Atmel ATSAMA5D2-XULT Board Broadcom ns3 DeveloperBox (Socionext Synquacer SC2A11) FSL ls1021a NXP ls1043ardbNXP ls1046ardbNXP ls1012ardbNXP ls1028ardbNXP ls1088ardbNXP ls2088ardb
NXP ls1012afrwyFSL i.MX6 Quad SABRE Lite Board FSL i.MX6 Quad SABRE SD Board SolidRun i.MX6 Quad Hummingboard EdgeSolidRun i.MX6 Dual Hummingboard EdgeSolidRun i.MX6 Dual Lite HummingboardSolidRun i.MX6 Solo Hummingboard Edge FSL i.MX6 UltraLite EVK Board NXP i.MX7Dual SabreSD Board NXP i.MX7Solo WaRP7 BoardNXP i.MX8MQEVK BoardNXP i.MX8MMEVK BoardARM Foundation FVPHiSilicon D02 HiSilicon Hi3519AV100 Demo BoardHiKey Board (HiSilicon Kirin 620) HiKey960 Board (HiSilicon Kirin 960) Marvell ARMADA 7K Family Marvell ARMADA 8K Family Marvell ARMADA 3700 Family MediaTek MT8173 EVB Board Poplar Board (HiSilicon Hi3798C V200)QEMU QEMUv8
Raspberry Pi 3 Renesas RCARRenesas RZ/G Rockchip PX30 Rockchip RK322XRockchip RK3399STMicroelectronics b2260 - h410 (96boards fmt)STMicroelectronics b2120 - h310 / h410 STMicroelectronics STM32MP1 series Allwinner A64 Pine64 BoardTexas Instruments AM65x Texas Instruments DRA7xxTexas Instruments AM57xx Texas Instruments AM43xx Xilinx Zynq 7000 ZC702 Xilinx Zynq UltraScale+ MPSOCSpreadtrum SC9860
OP-TEE supported on both 32-bit and 64-bit CPU.
Mixed mode is supported in OP-TEE.On top of AArch64 core both AArch32 and AArch64 Trusted Applications are supported.
The heap and stack size can be changed.In general or on most of platforms 32MB is used as secure RAM (for OP-TEE) i.e TZDRAM.For TEE RAM 2MB and TA RAM 2MB. And 28MB is remaining for trusted applications.
During trusted applications build, in the source code by default stack size is set to 2KB and data to 32KB.
For example refer this source code:https://github.com/linaro-swg/optee_examples/blob/master/hello_world/ta/user_ta_header_defines.h#L47
We can set these by changing the TA_STACK_SIZE and TA_DATA_SIZE.But if more than 1MB of Stack/heap size required then trusted applications MMU table need to be Changed.
TZASC - Trustzone address space controller will be used to configure memory as secure. If we configured some of bits with by mentioning address ranges, then hardware wise that area of memory will be configured as secure.
OP-TEE can be loaded to this secure memory region (secure DRAM) and boot.
Loading and booting OP-TEE form SRAM is preferred and secure method.But on some platforms, the size of SRAM is very less and that may not be possible.OP-TEE size can be less than 300KB. But if we include more Psuedo trusted applications (PTA) and drivers, then size of OP-TEE will increase. May be go to 1MB.
In OP-TEE scheduler is not implemented.Linux kernel is responsible for OP-TEE scheduling work.
In OP-TEE the time of process/application is very less may be in milli seconds.
OPTEE is supported on different platforms which is a mentioned in below list.
PLATFORM and PLATFORM_FLAVOR are the flags used to select different platforms and chips.
0 Comments