DCStoreRangeNoSync

C Specification

#include <revolution/os.h>

void DCStoreRangeNoSync(void* startAddr, u32 nBytes);

Arguments

startAddr Effective address (not the physical address) .
nBytes Size of range to store.

Return Values

None.

Description

Securely updates specified memory range with modified data in the cache. The startAddr argument is rounded down to a 32-byte boundary. The end address ( i.e., startAddr+ nBytes) is rounded up to the 32-byte boundary.

This command will still execute even if the cache is disabled or frozen by the DCFreeze function.

This function doesn't perform a sync to ensure that the range has been stored in memory. 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 has reached main memory, call the PPCSync function after calling the DCStoreRangeNoSync function for all the memory to flush. DMA transfers with locked caches are not affected by the PPCSync function.

See Also

Cache Functions, DCStoreRange, DCFlushRange, DCFlushRangeNoSyncDCInvalidateRange, ICInvalidateRange, PPCSync

Revision History

2006/03/01 Initial version.


CONFIDENTIAL