#include <nitro/os.h>
void IC_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 2 KB) |
None.
This function locks the contents of the instruction cache that is hit by the specified region so that it won't be discarded. However, because the cache is locked in blocks of 2KB, each time this function is called, the area that can be used as cache is reduced by 2KB, boosting the miss rate. The function can lock down a maximum of three blocks of instruction cache. startAddr
is rounded down to the closest 32-byte boundary. startAddr
+ nBytes
is rounded up to the closest 32-byte boundary.
This function operates registers 7 and 9 of the system control coprocessor. While the specified data is being loaded into the cache, interrupts are disabled internally. If this function is used, it will be assigned to ITCM.
IC_PrefetchRange, IC_Unlockdown, IC_UnlockdownAll
11/14/2005 Changed the type of startAddr
to const void*
.
01/21/2005 Added a description of the lockdown block.
12/22/2003 Initial version.