Free cookie consent management tool by TermsFeed Policy Generator

Getting Started with OP-TEE for QEMU ARMv8

 

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 ls1043ardb
NXP ls1046ardb
NXP ls1012ardb
NXP ls1028ardb
NXP ls1088ardb
NXP ls2088ardb

NXP ls1012afrwy
FSL i.MX6 Quad SABRE Lite Board 
FSL i.MX6 Quad SABRE SD Board 
SolidRun i.MX6 Quad Hummingboard Edge
SolidRun i.MX6 Dual Hummingboard Edge
SolidRun i.MX6 Dual Lite Hummingboard
SolidRun i.MX6 Solo Hummingboard Edge 
FSL i.MX6 UltraLite EVK Board 
NXP i.MX7Dual SabreSD Board 
NXP i.MX7Solo WaRP7 Board
NXP i.MX8MQEVK Board
NXP i.MX8MMEVK Board
ARM Foundation FVP
HiSilicon D02 
HiSilicon Hi3519AV100 Demo Board
HiKey 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 RCAR
Renesas RZ/G 
Rockchip PX30 
Rockchip RK322X
Rockchip RK3399
STMicroelectronics b2260 - h410 (96boards fmt)
STMicroelectronics b2120 - h310 / h410 
STMicroelectronics STM32MP1 series 
Allwinner A64 Pine64 Board
Texas Instruments AM65x 
Texas Instruments DRA7xx
Texas Instruments AM57xx 
Texas Instruments AM43xx 
Xilinx Zynq 7000 ZC702 
Xilinx Zynq UltraScale+ MPSOC
Spreadtrum 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.



 





Post a Comment

0 Comments