#include <nitro/os.h>
void DC_LockdownRange( const void* startAddr, u32 nBytes );
startAddr | Lowest address in the region to be locked down |
nBytes | Number of bytes of the region to be locked down (maximum is 1 KB) |
None.
Locks the contents of the data cache that is hit by the specified region, so that the cache won't be discarded.
However, because the cache is locked in blocks of 1 KB, each time this function is called, the area that can be used as cache is locked by 1 KB more, boosting the miss rate. The function can lock down a maximum of three blocks of data cache.
startAddr is rounded down to the closest 32-byte boundary. The sum of startAddr + nBytes is rounded up to the closest 32-byte boundary.
Operates registers 7 and 9 of the system control coprocessor. While the specified data is being loaded into the cache, interrupts are disabled internally.
DC_TouchRange, DC_Unlockdown, DC_UnlockdownAll
2005/11/14 Changed the type of startAddr to const void*
2005/01/21 Added a description the lockdown block.
2003/12/22 Initial release.
CONFIDENTIAL