# DC_StoreAll

## Syntax

      #include <nitro/os.h>

      void DC_StoreAll( void );

      void DC_CleanAll( void );

## Arguments

None.

## Return Values

None.

## Description

Stores all data from data cache regions to memory.

This function performs a cache writeback in a dirty state (state when a write to data cache is not reflected in main memory), and places it in an clean state (state where all stored values in cache match memory contents).

Call this function when completing data transmission data blocks that use the main memory of other devices, such as when performing DMA transfers or creating graphics commands.

`DC_CleanAll()` is another name for `DC_StoreAll()` and operates exactly the same way. `DC_Clean*/DC_CleanAndInvalidate*` were prepared for porting from the prototype SDK version. In most cases, use `DC_Store*/DC_Flush*`.

Note

The official documentation for the ARM processor sometimes describes Flush as the operation that invalidates the data cache, Clean as the operation that writes back the data cache and puts it into a clean state, and Clean and Flush as the operation that writes back and then invalidates. However, this SDK follows the conventions of the Nintendo GameCube and Nintendo64 by using Invalidate for invalidation, Store for writeback, and Flush for writeback and invalidate operations.

## Internal Operation

Operates register 7 of the system control coprocessor.

## See Also

`IC_InvalidateAll IC_InvalidateRange
DC_InvalidateAll DC_InvalidateRange
DC_StoreRange
DC_FlushAll DC_FlushRange`

## Revision History

2003/12/22 Initial version.

CONFIDENTIAL