# IC_InvalidateRange

## C Specification

      #include <nitro/os.h>

      void IC_InvalidateRange(
                  void*   startAddr ,
                  u32     nBytes );

## Description

Invalidates the instruction code of the specified region in the instruction cache

`startAddr` is rounded down to the closest 32-byte boundary. `startAddr` + `nBytes` is rounded up to the closest 32-byte boundary.

The official documentation for the ARM processor sometimes describes Flush as the operation that invalidates the cache. However, this SDK follows the conventions of the Nintendo GameCube and Nintendo64 by using Invalidate for invalidation.

## Internal Operation

Operates register 7 of the system control coprocessor.

## Arguments

`startAddr` | Lowest address in the region to be invalidated
`nBytes` | Number of bytes of the region to be invalidated

## Return Values

None.

## See Also

`IC_InvalidateAll`, `DC_InvalidateAll`, `DC_InvalidateRange`, `DC_StoreAll`, `DC_StoreRange`, `DC_FlushAll`, `DC_FlushRange`

## Revision History

12/22/2003 Initial Version