1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html> 3 4<head> 5<META http-equiv="Content-Type" content="text/html; charset=windows-1252"> 6<META name="GENERATOR" content="Microsoft FrontPage 5.0"> 7<META http-equiv="Content-Style-Type" content="text/css"> 8<LINK rel="stylesheet" type="text/css" href="../../CSS/revolution.css"> 9<title>DCFlushRangeNoSync</title> 10</head> 11 12<body> 13 14<h1>DCFlushRangeNoSync</h1> 15 16 17<h2>C Specification</h2> 18<BLOCKQUOTE> 19<pre><CODE>#include <revolution/os.h> 20 21void DCFlushRangeNoSync(void* startAddr, u32 nBytes);</CODE></pre> 22</BLOCKQUOTE> 23<h2>Arguments</h2> 24<TABLE border="1" cellpadding="3" cellspacing="0.1"> 25 <tr> 26<TD width="120" bgcolor="#ffffe8"><em><strong><code><STRONG><EM><CODE>startAddr</CODE></EM></STRONG></code></strong></em></TD> 27<TD width="520">Effective address (not the physical address) .</TD> 28 </tr> 29 <tr> 30<TD width="120" bgcolor="#ffffe8"><strong><em><code><STRONG><EM><CODE>nBytes</CODE></EM></STRONG></code></em></strong></TD> 31<TD width="520">Size of range to flush.</TD> 32 </tr> 33</TABLE> 34<h2>Return Values</h2> 35 36<p>None.</p> 37 38<h2>Description</h2> 39 40<p>Flushes a specified range. The cache data block hit in the data cache for the specified range is flushed to main memory and invalidated. The <code><strong><em>startAddr</em></strong></code> argument is rounded down to a 32-byte boundary. The end address (i.e., <code><strong><em>startAddr</em></strong></code><i> + </i><strong><em><code>nBytes</code></em></strong>) is rounded up to a 32-byte boundary.</p> 41 42<p>This command will still execute even if the cache is disabled or frozen by the <code><a href="DCFreeze.html">DCFreeze</a></code> function.</p> 43 44<p>This routine does not perform a sync to ensure that the specified range has been flushed to 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, invoke <a href="../Synchronization/PPCSync.html"><code>PPCSync</code></a> on the memory to flush after calling <code>DCFlushRangeNoSync</code>. DMA transfers with locked caches are not affected by the <a href="../Synchronization/PPCSync.html"><code>PPCSync</code></a> function.</p> 45 46<h2>See Also</h2> 47 48<p><a href="../toc.html#Cache" target="contents">Cache Functions</a>, <a href="DCInvalidateRange.html"><code>DCInvalidateRange</code></a>, <code><a href="DCFlushRange.html">DCFlushRange</a>, <a href="DCStoreRange.html">DCStoreRange</a></code>, <code><a href="DCStoreRangeNoSync.html">DCStoreRangeNoSync</a>, <a href="../Synchronization/PPCSync.html">PPCSync</a></code></p> 49 50<h2>Revision History</h2><p></p> 51 52<P>2006/03/01 Initial version.</p> 53 54<hr> 55<P>CONFIDENTIAL</p> 56</BODY> 57</HTML>