1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML>
3<HEAD>
4<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
5<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 7.0.0.0 for Windows">
6<META http-equiv="Content-Style-Type" content="text/css">
7<TITLE>DC_InvalidateRange</TITLE>
8<LINK rel="stylesheet" href="../../css/nitro.css" type="text/css">
9</HEAD>
10<BODY>
11<H1 align="left">DC_InvalidateRange <IMG src="../../image/NTR.gif" align="middle"><IMG src="../../image/TWL.gif" align="middle"></H1>
12<H2>Syntax</H2>
13<DL>
14  <DD>
15<PRE><CODE>#include &lt;nitro/os.h&gt;</CODE></PRE>
16<PRE><CODE>void DC_InvalidateRange( void* startAddr, u32 nBytes );</CODE></PRE>
17</DL>
18<H2>Arguments</H2>
19<TABLE border="1" width="100%">
20  <TBODY>
21    <TR>
22<TD width="13%"><EM><STRONG>startAddr</STRONG></EM></TD>
23<TD width="87%">Lowest address in the region to be invalidated</TD>
24    </TR>
25    <TR>
26<TD width="13%"><EM><STRONG>nBytes</STRONG></EM></TD>
27<TD width="87%">Number of bytes of the region to be invalidated</TD>
28    </TR>
29  </TBODY>
30</TABLE>
31<H2>Return Values</H2>
32<P>None.</P>
33<H2>Description</H2>
34<P>Invalidates the data in the specified data cache region.</P>
35<P><B><I>startAddr</I></B> is rounded down to the closest 32-byte boundary. The sum of <B><I>startAddr</B></I> + <I><B>nBytes</B></I> is rounded up to the closest 32-byte boundary.</P>
36<P><BR> <B>Note</B></P>
37<P>The official documentation for the ARM processor sometimes describes <strong>Flush</strong> as the operation that invalidates the data cache, <strong>Clean</strong> as the operation that writes back the data cache and puts it into a clean state, and <strong>Clean and Flush</strong> as the operation that writes back and then invalidates. However, this SDK follows the conventions of the Nintendo&nbsp;GameCube and Nintendo64 by using <strong>Invalidate</strong> for invalidation, <strong>Store</strong> for writeback, and <strong>Flush</strong> for writeback and invalidate operations. &nbsp;</P>
38<H2>Internal Operation</H2>
39<P>Operates register 7 of the system control coprocessor. This function divides the specified range into cache-line units and repeats its operation. Thus the amount of time it takes is proportional to the size of the range.
40</P>
41<H2>See Also</H2>
42<P><CODE><A href="IC_InvalidateAll.html">IC_InvalidateAll</A></code><BR> <code><A href="IC_InvalidateRange.html">IC_InvalidateRange</A></code><BR> <code><A href="DC_InvalidateAll.html">DC_InvalidateAll</A></code><BR> <code><A href="DC_StoreAll.html">DC_StoreAll</A></code><BR> <code><A href="DC_StoreRange.html">DC_StoreRange</A></code><BR> <code><A href="DC_FlushAll.html">DC_FlushAll</A></code><BR> <code><A href="DC_FlushRange.html">DC_FlushRange</A></CODE></P>
43<H2>Revision History</H2>
44<P>
452005/04/19 Added note explaining that processing time is proportional to the size of the range.<BR>2003/12/22 Initial version.</P>
46<hr><p>CONFIDENTIAL</p></body>
47</HTML>