Hello Guys,
Please refer below attached image. as shown in this image i want to measure the different latencies in my Trustzone based application.
Here is the list of measurements which i want to perform.
1) FIQ latency when RTOS runs and FIQ occurs ( Refer path (1) in below figure)
2) FIQ latency when GPOS( non - trust OS ) runs and FIQ occurs ( Refer path (2) in below figure)
3) IRQ latency when GPOS ( non - trust OS ) runs ans IRQ occurs ( Refer path(3) ) in below figure )
4) Switching latency between secure and non secure state. ( path 4-5 in image )
Measuring 3rd and 4th measurement looks possible but for 1st and 2nd measurement i am not able to figure out how to find if FIQ occurred in GPOS or RTOS execution.
is there any way in arm ( through any register) that i can find out if FIQ occurred while GPOS was executing or it occurred while RTOS was executing,
any suggestion or pointers are very much appreciated.
Regards,
Ashwin
Which core? v7-A or 8-A?Anyway, context switching is very much dominated by saveing and restoring the registers. This includes the core registers, FPU/NEON registers and some others which are not shadowed. And this adds to the FIQ latency if the non-secure software runs.
core is v7-A, Cortex-a7.
i got your point but how to check if FIQ occurred while GPOS is executing or it occurred while RTOS was executing? is there any register in v7-A?
Do you control both sides? If so you can generate an interrupt for the the secure side whilest running in normal world.