#include <nitro/card.h>
void CARD_SetCacheFlushFlag(BOOL icache, BOOL dcache);
icache | TRUE to enable auto-invalidation of instruction cache. |
dcache | TRUE to enable auto-invalidation of data cache. |
None.
Configures whether the invalidation process to flush the cache takes place automatically when a process to load ROM data occurs inside the library.
When ROM data is loaded into memory, if the instruction cache is always invalidated for DMA transfers, the safest cache operation is to invalidate the data cache as well. However, if it is clear that the cache does not need to be considered, performing these operations becomes redundant. This function allows you to enable and disable the cache-invalidation process.
When the CARD library loads ROM data into memory, it automatically handles the cache according to the settings configured here.
The default settings are icache = FALSE
and dcache = TRUE
. With these settings, the data cache is invalidated, but the instruction cache is not.
Unless you have a special reason, you do not need to change the default settings.
Because the instruction cache is controlled the same way even in cases where higher-level libraries such as the FS library and the EL library control the execution code, there is no need to worry about data loads by the CARD library.
As for the data cache, the default setting of TRUE
should not be changed except in extreme situations because it would have a far-reaching impact on all of the higher-level libraries that handle VRAM, DMA, ARM7, and other external memory devices.
2008/12/05 Initial version.
CONFIDENTIAL