Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
[Trustzone] interrupt level fast world switch(NWD->SWD) solution?
Jump...
Cancel
Locked
Locked
Replies
4 replies
Subscribers
118 subscribers
Views
6640 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
[Trustzone] interrupt level fast world switch(NWD->SWD) solution?
ray mao
over 12 years ago
Note: This was originally posted on 11th October 2012 at
http://forums.arm.com
Dear ARM Engineer,
I have a question about interrupt level fast word switch for trustzone enabled ecosystem.
For
scenario
- 1 core is running in one World, interrupt of the other World happen. How to switch the core to the other world quickly.
Solution-1
In the whitepaper prd29-genc-009492c_trustzone_security_whitepaper.pdf
one solution is already mentioned. - monitor route slolution.
but this solution need carefully deal with monitor, NWD OS, SWD OS interrupt related code.
Solution-2
I was checking another solution which one World OS actively do swtich directly while the other world interrupt happen.
From ARM GIC Spec, spurious interrupt ID 1022 & 1023 seems to be possible as the flag.
(Suppose NWD only use IRQ, SWD only use FIQ)
After test,
1022 can help SWD->NWD for case cpu core in SWD and IRQ happened.
1023 can not help NWD->SWD for case cpu core in NWD and FIQ happened. (As 1023 will also happen in other case)
So is there any extra flag/way can help Solution-2 do NWD->SWD.
Or say Besides Monitro solution, is there any other way can help interrupt level fast word switch NWD->SWD while FIQ happen.
Thanks!
Parents
ray mao
over 12 years ago
Note: This was originally posted on 12th October 2012 at
http://forums.arm.com
Thanks for reply, guys
We all agree monitor solution is better(best) solution to this case.
monitor solution has better performance but
inflexible
.
I mean, for one world OS, giveup CPU stradegy can be changeable while the other world interrupt* happen.
e.g.
1.every interrupt* happen do world switch
2.every N(2,3) interrupt* happen do world switch
3.only NOT in critical area code(hope to be finished before switch), interrupt* happen do world switch
Cancel
Vote up
0
Vote down
Cancel
Reply
ray mao
over 12 years ago
Note: This was originally posted on 12th October 2012 at
http://forums.arm.com
Thanks for reply, guys
We all agree monitor solution is better(best) solution to this case.
monitor solution has better performance but
inflexible
.
I mean, for one world OS, giveup CPU stradegy can be changeable while the other world interrupt* happen.
e.g.
1.every interrupt* happen do world switch
2.every N(2,3) interrupt* happen do world switch
3.only NOT in critical area code(hope to be finished before switch), interrupt* happen do world switch
Cancel
Vote up
0
Vote down
Cancel
Children
No data