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

How to clean the L1 cache from Linux user space?

There is a requirment for me to clean the L1 cache from Linux user space.

There is a DMAC in my SoC platform and this DMAC should read its mirco-code from L2 cache all the time.

When I need to update the DMA mirco-code located in a main-memory, I have two options: 1. pass the cache; 2. bypass the cache

The first option results in the in-coherency betweetn L1 and L2, the second option results in the in-coherency between main-memory and L2.

So the DMAC always get the dirty data in L2 cache.

Is there a system call for me to clean the L1 cache (so that the data synchronized to L2) after I update the main-memory with a cachable access?

Thanks,

Ann