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

Zeroise complete L1 and L2 caches in ARM v8?

Hi All,

my situation is, I have to zeroize complete caches in ARM-v8 (Xilinx Ultrascale+ Device). Zeroise or set every line to constant values.

Does anybody know how can I solve this?

Thanks in advance.

Parents
  • Are you trying to fill the cache RAMs with zeros? Or, ensure the cache is empty?

    Filling the cache with zeros would be harder than you might think. Cache allocation happens automatically, and not under direct control of software. So even if you do a series of reads of memory known to contain zeros, things like speculation can lead addresses other than those you expect being in the cache.

    Ensuring that the cache is "empty" is simple, as you can use invalidate operations (iterating through sets and ways). But this only marks the lines as not containing data, it doesn't set them to 0s.
Reply
  • Are you trying to fill the cache RAMs with zeros? Or, ensure the cache is empty?

    Filling the cache with zeros would be harder than you might think. Cache allocation happens automatically, and not under direct control of software. So even if you do a series of reads of memory known to contain zeros, things like speculation can lead addresses other than those you expect being in the cache.

    Ensuring that the cache is "empty" is simple, as you can use invalidate operations (iterating through sets and ways). But this only marks the lines as not containing data, it doesn't set them to 0s.
Children
No data