#include <revolution/os.h> void DCStoreRangeNoSync(void* startAddr, u32 nBytes);
startAddr |
Effective address (not the physical address) . |
|---|---|
nBytes |
Size of region to be stored. |
None.
Securely updates specified memory range with modified data in the cache. The startAddr argument will be rounded down to the closest 32-byte boundary, while the end address (startAddr + nBytes) will be rounded up to the closest 32-byte boundary.
Be aware that even if the cache is disabled or frozen (via the DCFreeze function), this command will still execute.
This function doesn't perform a sync to ensure that the range has been stored in memory. In other words, the cache blocks are sent to the bus interface unit to be stored in main memory; but by the time this function returns, the blocks are not guaranteed to have been written to memory. If your code must know that the data is stored in main memory, call the PPCSync function after calling the DCStoreRangeNoSync function for all the memory to flush. Be aware that DMA transfers into and out of the locked cache are not affected by the PPCSync function.
Cache Functions, DCStoreRange, DCFlushRange, DCFlushRangeNoSync, DCInvalidateRange, ICInvalidateRange, PPCSync
2006/03/01 Initial version.
CONFIDENTIAL