Level 2 cache is cache memory that is external to the microprocessor. The kernel provides functions to perform operations on this cache.
In general, the presence of Level 2 cache is transparent to device drivers. The cache is physically indexed and physically tagged, and this means that L2 cache is not affected by the remapping of virtual-to-physical addresses in the MMU.
However, where data is being transferred using DMA, then cached information in the data buffers involved in a DMA transfer must be flushed before a DMA write operation, for example when transferring data from memory to a peripheral, and both before and after a DMA read operation, for example when transferring data from a peripheral into memory.
The kernel provides three functions for this:
All three functions are defined and implemented as part of the Cache class, defined in ...\e32\e32\include\kernel\cache.h.
See also DMA buffers in the Device Driver Tutorial.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.