AnsweredAssumed Answered

i.MX6UL/optee: How is linux getting out of 'idle'

Question asked by Vincent Siles on Apr 19, 2018
Latest reply on Apr 24, 2018 by Vincent Siles

(The linux I'm using is from Linaro Security Working Group · GitHub  but the same code can be found in Linux's master or NXP repo)



I'm running Linux in the normal world along side a secure OS (optee or another secure blob) without the SMP activated, so only 1 core is running. At some point, linux is deciding to put the core into idle, and is running the function imx6sx_enter_wait (see linux/cpuidle-imx6sx.c at optee · linaro-swg/linux · GitHub ). For what I understood and gathered, this function will completely powerdown the core, which will be restarted by some other device, and set to run the v7_cpu_resume function.


My question is to find how does the core (single core, remember) is reset and restored out of IDLE mode ? I tried to use the SNVS RTC interrupt to do so, but it doesn't seem to work.


Could anyone explain to me how is the core restored after an IDLE, in uniprocessor setup ? A link to the relevant code would be great !