Arm Community
Site
Search
User
Site
Search
User
Forums
Arm Development Studio forum
TrustZone with PL310
Jump...
Cancel
Locked
Locked
Replies
10 replies
Subscribers
118 subscribers
Views
7978 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 with PL310
syuji biwa
over 12 years ago
Note: This was originally posted on 17th August 2013 at
http://forums.arm.com
I plan to use a simple 'TrustZone Monitor' with PL310(L2CC).
In non-secure, I will play a Linux-Kernel.
One problem.
1. PL310's background-operation(inv.way etc..) is executing in non-secure.
2. By secure-interrupt, dispatch to secure.
3. In secure, try to execute a write-operation to PL310' register.
May be happen 'DATA-ABORT'.
Do I must control exclusive PL310 secure and non-secure ?
Please help me.
Parents
syuji biwa
over 12 years ago
Note: This was originally posted on 21st August 2013 at
http://forums.arm.com
> Why do you think you need to use the background operations?
I want to play 'Linux' on non-secure world.
Linux excutes follow-code.
-------------------------------------------------------------------------
cache-l2x0.c
l2x0_flush_range()
l2x0_flush_all()
__l2x0_flush_all()
writel_relaxed(l2x0_way_mask, l2x0_base + L2X0_CLEAN_INV_WAY);
------ 'This is background-operation.' ------
cache_wait_way(l2x0_base + L2X0_CLEAN_INV_WAY, l2x0_way_mask);
cache_sync();
-------------------------------------------------------------------------
Cancel
Vote up
0
Vote down
Cancel
Reply
syuji biwa
over 12 years ago
Note: This was originally posted on 21st August 2013 at
http://forums.arm.com
> Why do you think you need to use the background operations?
I want to play 'Linux' on non-secure world.
Linux excutes follow-code.
-------------------------------------------------------------------------
cache-l2x0.c
l2x0_flush_range()
l2x0_flush_all()
__l2x0_flush_all()
writel_relaxed(l2x0_way_mask, l2x0_base + L2X0_CLEAN_INV_WAY);
------ 'This is background-operation.' ------
cache_wait_way(l2x0_base + L2X0_CLEAN_INV_WAY, l2x0_way_mask);
cache_sync();
-------------------------------------------------------------------------
Cancel
Vote up
0
Vote down
Cancel
Children
No data