Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
I-cache coherency maintence
Jump...
Cancel
Locked
Locked
Replies
4 replies
Subscribers
119 subscribers
Views
3608 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
How was your experience today?
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
I-cache coherency maintence
Vladimir Murzin
over 12 years ago
Note: This was originally posted on 14th February 2011 at
http://forums.arm.com
I'm a newbie in ARM.
It's said that in case of multi-core I-cache coherency not maintained by SCU even if memory marked as sharable.
I've got some self-modifying code and I wonder which steps should I do to maintain I-cache coherency?
Thanks.
Parents
Martin Weidmann
over 12 years ago
Note: This was originally posted on 14th February 2011 at
http://forums.arm.com
ARM processors have traditionally not provided automatic coherency management between the I and D sides. So self-modifying code (and similar) has always required manual cache maintenance.
You will first need to clean the d cache, and then invalidate the I side.
You don't say which processor you're using. If it's the A9 or A5, they have the option of having cache maintenance broadcasting. This is when doing the operation on any one CPU causes the other CPUs to also perform the operation. It requires support to be enabled on each CPU (FW bit in ACTLR) and for you to use the inner shareable versions of the i side operations.
Cancel
Vote up
0
Vote down
Cancel
Reply
Martin Weidmann
over 12 years ago
Note: This was originally posted on 14th February 2011 at
http://forums.arm.com
ARM processors have traditionally not provided automatic coherency management between the I and D sides. So self-modifying code (and similar) has always required manual cache maintenance.
You will first need to clean the d cache, and then invalidate the I side.
You don't say which processor you're using. If it's the A9 or A5, they have the option of having cache maintenance broadcasting. This is when doing the operation on any one CPU causes the other CPUs to also perform the operation. It requires support to be enabled on each CPU (FW bit in ACTLR) and for you to use the inner shareable versions of the i side operations.
Cancel
Vote up
0
Vote down
Cancel
Children
No data