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

ARM Cortex A8 L2 Cache Flush Invalidate

Hi,

I am working on DM37xevm platform and already invalidate the L2 cache (256KB) using the code

asm volatile moveq r12, #0x1");                                                 

asm volatile ("smc #1");     // Got from Technical Reference manual

I am particularly interested to flush the  L2 cache. No guidelines are given in TRM for flushing. Is it possible to flush the L2 cache.

Regards

Parents
  • The SMC instruction is a call to the "secure world" software, rather than a native ARM instruction, so whether cache invalidation is supported would be a question for your secure software supplier. In general it isn't possible for non-secure software to invalidate the entire cache (the cache may contain secure data, and that would be a destructive operation); clean-and-invalidate is generally provided as an alternative, but what is available will depend on your software stack.

    HTH,
    Pete

Reply
  • The SMC instruction is a call to the "secure world" software, rather than a native ARM instruction, so whether cache invalidation is supported would be a question for your secure software supplier. In general it isn't possible for non-secure software to invalidate the entire cache (the cache may contain secure data, and that would be a destructive operation); clean-and-invalidate is generally provided as an alternative, but what is available will depend on your software stack.

    HTH,
    Pete

Children