[processor-sdk/performance-audio-sr.git] / psdk_cust / libarch_k2g_1_0_1_0 / docs / doxygen / html / df / d7c / group__libarch__cachecfg.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.6"/>
7 <title>LibArch: Cache Configuration API</title>
8 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="../../jquery.js"></script>
10 <script type="text/javascript" src="../../dynsections.js"></script>
11 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
12 <script type="text/javascript" src="../../search/search.js"></script>
13 <script type="text/javascript">
14 $(document).ready(function() { searchBox.OnSelectItem(0); });
15 </script>
16 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
17 </head>
18 <body>
19 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
20 <div id="titlearea">
21 <table cellspacing="0" cellpadding="0">
22 <tbody>
23 <tr style="height: 56px;">
24 <td style="padding-left: 0.5em;">
25 <div id="projectname">LibArch
26 </div>
27 <div id="projectbrief">Library architecture and framework</div>
28 </td>
29 </tr>
30 </tbody>
31 </table>
32 </div>
33 <!-- end header part -->
34 <!-- Generated by Doxygen 1.8.6 -->
35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
37 </script>
38 <div id="navrow1" class="tabs">
39 <ul class="tablist">
40 <li><a href="../../index.html"><span>Main Page</span></a></li>
41 <li><a href="../../modules.html"><span>Modules</span></a></li>
42 <li><a href="../../annotated.html"><span>Data Structures</span></a></li>
43 <li><a href="../../files.html"><span>Files</span></a></li>
44 <li>
45 <div id="MSearchBox" class="MSearchBoxInactive">
46 <span class="left">
47 <img id="MSearchSelect" src="../../search/mag_sel.png"
48 onmouseover="return searchBox.OnSearchSelectShow()"
49 onmouseout="return searchBox.OnSearchSelectHide()"
50 alt=""/>
51 <input type="text" id="MSearchField" value="Search" accesskey="S"
52 onfocus="searchBox.OnSearchFieldFocus(true)"
53 onblur="searchBox.OnSearchFieldFocus(false)"
54 onkeyup="searchBox.OnSearchFieldChange(event)"/>
55 </span><span class="right">
56 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
57 </span>
58 </div>
59 </li>
60 </ul>
61 </div>
62 </div><!-- top -->
63 <!-- window showing the filter options -->
64 <div id="MSearchSelectWindow"
65 onmouseover="return searchBox.OnSearchSelectShow()"
66 onmouseout="return searchBox.OnSearchSelectHide()"
67 onkeydown="return searchBox.OnSearchSelectKey(event)">
68 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Pages</a></div>
70 <!-- iframe showing the search results (closed by default) -->
71 <div id="MSearchResultsWindow">
72 <iframe src="javascript:void(0)" frameborder="0"
73 name="MSearchResults" id="MSearchResults">
74 </iframe>
75 </div>
77 <div class="header">
78 <div class="summary">
79 <a href="#define-members">Macros</a> |
80 <a href="#func-members">Functions</a> </div>
81 <div class="headertitle">
82 <div class="title">Cache Configuration API</div> </div>
83 </div><!--header-->
84 <div class="contents">
86 <p>L1D and L2 information such as base address, total size, etc.
87 <a href="#details">More...</a></p>
88 <table class="memberdecls">
89 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
90 Macros</h2></td></tr>
91 <tr class="memitem:ga2e6fd05c3ca05c5fda056c53f1b0e583"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga2e6fd05c3ca05c5fda056c53f1b0e583">LIB_CACHE_SUCCESS</a>   (0)</td></tr>
92 <tr class="separator:ga2e6fd05c3ca05c5fda056c53f1b0e583"><td class="memSeparator" colspan="2"> </td></tr>
93 <tr class="memitem:gab447a2c2ef93390a4ae137b80fc575a9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d7c/group__libarch__cachecfg.html#gab447a2c2ef93390a4ae137b80fc575a9">LIB_CACHE_ERROR</a>   (-1)</td></tr>
94 <tr class="separator:gab447a2c2ef93390a4ae137b80fc575a9"><td class="memSeparator" colspan="2"> </td></tr>
95 </table><table class="memberdecls">
96 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
97 Functions</h2></td></tr>
98 <tr class="memitem:gad97b5b052a148beb2ceafd5264049734"><td class="memItemLeft" align="right" valign="top">static void * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d7c/group__libarch__cachecfg.html#gad97b5b052a148beb2ceafd5264049734">lib_get_L1D_SRAM_base</a> ()</td></tr>
99 <tr class="memdesc:gad97b5b052a148beb2ceafd5264049734"><td class="mdescLeft"> </td><td class="mdescRight">Function <a class="el" href="../../df/d7c/group__libarch__cachecfg.html#gad97b5b052a148beb2ceafd5264049734" title="Function lib_get_L1D_SRAM_base() returns the base address of the configured L1D SRAM that can be used...">lib_get_L1D_SRAM_base()</a> returns the base address of the configured L1D SRAM that can be used as scratchpad. <a href="#gad97b5b052a148beb2ceafd5264049734">More...</a><br/></td></tr>
100 <tr class="separator:gad97b5b052a148beb2ceafd5264049734"><td class="memSeparator" colspan="2"> </td></tr>
101 <tr class="memitem:ga078718972313d9481ce24aa6620a01a7"><td class="memItemLeft" align="right" valign="top">static void * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga078718972313d9481ce24aa6620a01a7">lib_get_L2_SRAM_base</a> ()</td></tr>
102 <tr class="memdesc:ga078718972313d9481ce24aa6620a01a7"><td class="mdescLeft"> </td><td class="mdescRight">Function <a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga078718972313d9481ce24aa6620a01a7" title="Function lib_get_L2_SRAM_base() returns the base address of the configured L2 SRAM that can be used a...">lib_get_L2_SRAM_base()</a> returns the base address of the configured L2 SRAM that can be used as scratchpad. <a href="#ga078718972313d9481ce24aa6620a01a7">More...</a><br/></td></tr>
103 <tr class="separator:ga078718972313d9481ce24aa6620a01a7"><td class="memSeparator" colspan="2"> </td></tr>
104 <tr class="memitem:ga6771320bcc11145aba7c8ac3d960cee7"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga6771320bcc11145aba7c8ac3d960cee7">lib_get_L1D_total_size</a> ()</td></tr>
105 <tr class="memdesc:ga6771320bcc11145aba7c8ac3d960cee7"><td class="mdescLeft"> </td><td class="mdescRight">Function <a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga6771320bcc11145aba7c8ac3d960cee7" title="Function lib_get_L1D_total_size() returns the total size of L1D. ">lib_get_L1D_total_size()</a> returns the total size of L1D. <a href="#ga6771320bcc11145aba7c8ac3d960cee7">More...</a><br/></td></tr>
106 <tr class="separator:ga6771320bcc11145aba7c8ac3d960cee7"><td class="memSeparator" colspan="2"> </td></tr>
107 <tr class="memitem:ga36b0570810554cc39ca3edd82fbff7c4"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga36b0570810554cc39ca3edd82fbff7c4">lib_get_L2_total_size</a> ()</td></tr>
108 <tr class="memdesc:ga36b0570810554cc39ca3edd82fbff7c4"><td class="mdescLeft"> </td><td class="mdescRight">Function lib_get_L1D_SRAM_size() returns the size of the configured L1D SRAM that can be used as scratchpad. <a href="#ga36b0570810554cc39ca3edd82fbff7c4">More...</a><br/></td></tr>
109 <tr class="separator:ga36b0570810554cc39ca3edd82fbff7c4"><td class="memSeparator" colspan="2"> </td></tr>
110 <tr class="memitem:ga3380d4452c454d398a64256c8eeed723"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga3380d4452c454d398a64256c8eeed723">lib_L1D_config_SRAM</a> (size_t size_SRAM)</td></tr>
111 <tr class="memdesc:ga3380d4452c454d398a64256c8eeed723"><td class="mdescLeft"> </td><td class="mdescRight">Function lib_get_L2_SRAM_size() returns the size of the configured L2 SRAM that can be used as scratchpad. <a href="#ga3380d4452c454d398a64256c8eeed723">More...</a><br/></td></tr>
112 <tr class="separator:ga3380d4452c454d398a64256c8eeed723"><td class="memSeparator" colspan="2"> </td></tr>
113 <tr class="memitem:ga529504ec5196118f6fc9d744b6209d61"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga529504ec5196118f6fc9d744b6209d61">lib_L2_config_SRAM</a> (size_t size_SRAM)</td></tr>
114 <tr class="memdesc:ga529504ec5196118f6fc9d744b6209d61"><td class="mdescLeft"> </td><td class="mdescRight">Function <a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga529504ec5196118f6fc9d744b6209d61" title="Function lib_L2_config_SRAM() configures L2 to have desired SRAM size. ">lib_L2_config_SRAM()</a> configures L2 to have desired SRAM size. <a href="#ga529504ec5196118f6fc9d744b6209d61">More...</a><br/></td></tr>
115 <tr class="separator:ga529504ec5196118f6fc9d744b6209d61"><td class="memSeparator" colspan="2"> </td></tr>
116 </table>
117 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
118 <p>L1D and L2 information such as base address, total size, etc. </p>
119 <dl class="section remark"><dt>Remarks</dt><dd>These macros are meant to be used by the inlined functions defined in this header file. Users should NOT directly use these macros, but should use the appropriate functions.</dd></dl>
120 <p>Error return codes of cache configuration functions. </p>
121 <h2 class="groupheader">Macro Definition Documentation</h2>
122 <a class="anchor" id="gab447a2c2ef93390a4ae137b80fc575a9"></a>
123 <div class="memitem">
124 <div class="memproto">
125 <table class="memname">
126 <tr>
127 <td class="memname">#define LIB_CACHE_ERROR   (-1)</td>
128 </tr>
129 </table>
130 </div><div class="memdoc">
131 <p>Failure. </p>
133 </div>
134 </div>
135 <a class="anchor" id="ga2e6fd05c3ca05c5fda056c53f1b0e583"></a>
136 <div class="memitem">
137 <div class="memproto">
138 <table class="memname">
139 <tr>
140 <td class="memname">#define LIB_CACHE_SUCCESS   (0)</td>
141 </tr>
142 </table>
143 </div><div class="memdoc">
144 <p>Success. No error. </p>
146 </div>
147 </div>
148 <h2 class="groupheader">Function Documentation</h2>
149 <a class="anchor" id="gad97b5b052a148beb2ceafd5264049734"></a>
150 <div class="memitem">
151 <div class="memproto">
152 <table class="mlabels">
153 <tr>
154 <td class="mlabels-left">
155 <table class="memname">
156 <tr>
157 <td class="memname">static void* lib_get_L1D_SRAM_base </td>
158 <td>(</td>
159 <td class="paramname"></td><td>)</td>
160 <td></td>
161 </tr>
162 </table>
163 </td>
164 <td class="mlabels-right">
165 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
166 </tr>
167 </table>
168 </div><div class="memdoc">
170 <p>Function <a class="el" href="../../df/d7c/group__libarch__cachecfg.html#gad97b5b052a148beb2ceafd5264049734" title="Function lib_get_L1D_SRAM_base() returns the base address of the configured L1D SRAM that can be used...">lib_get_L1D_SRAM_base()</a> returns the base address of the configured L1D SRAM that can be used as scratchpad. </p>
171 <dl class="retval"><dt>Return values</dt><dd>
172 <table class="retval">
173 <tr><td class="paramname">Base</td><td>address of SRAM in L1D </td></tr>
174 </table>
175 </dd>
176 </dl>
178 </div>
179 </div>
180 <a class="anchor" id="ga6771320bcc11145aba7c8ac3d960cee7"></a>
181 <div class="memitem">
182 <div class="memproto">
183 <table class="mlabels">
184 <tr>
185 <td class="mlabels-left">
186 <table class="memname">
187 <tr>
188 <td class="memname">static int lib_get_L1D_total_size </td>
189 <td>(</td>
190 <td class="paramname"></td><td>)</td>
191 <td></td>
192 </tr>
193 </table>
194 </td>
195 <td class="mlabels-right">
196 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
197 </tr>
198 </table>
199 </div><div class="memdoc">
201 <p>Function <a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga6771320bcc11145aba7c8ac3d960cee7" title="Function lib_get_L1D_total_size() returns the total size of L1D. ">lib_get_L1D_total_size()</a> returns the total size of L1D. </p>
202 <dl class="retval"><dt>Return values</dt><dd>
203 <table class="retval">
204 <tr><td class="paramname">Total</td><td>size of L1D </td></tr>
205 </table>
206 </dd>
207 </dl>
209 </div>
210 </div>
211 <a class="anchor" id="ga078718972313d9481ce24aa6620a01a7"></a>
212 <div class="memitem">
213 <div class="memproto">
214 <table class="mlabels">
215 <tr>
216 <td class="mlabels-left">
217 <table class="memname">
218 <tr>
219 <td class="memname">static void* lib_get_L2_SRAM_base </td>
220 <td>(</td>
221 <td class="paramname"></td><td>)</td>
222 <td></td>
223 </tr>
224 </table>
225 </td>
226 <td class="mlabels-right">
227 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
228 </tr>
229 </table>
230 </div><div class="memdoc">
232 <p>Function <a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga078718972313d9481ce24aa6620a01a7" title="Function lib_get_L2_SRAM_base() returns the base address of the configured L2 SRAM that can be used a...">lib_get_L2_SRAM_base()</a> returns the base address of the configured L2 SRAM that can be used as scratchpad. </p>
233 <dl class="retval"><dt>Return values</dt><dd>
234 <table class="retval">
235 <tr><td class="paramname">Base</td><td>address of SRAM in L2 </td></tr>
236 </table>
237 </dd>
238 </dl>
240 </div>
241 </div>
242 <a class="anchor" id="ga36b0570810554cc39ca3edd82fbff7c4"></a>
243 <div class="memitem">
244 <div class="memproto">
245 <table class="mlabels">
246 <tr>
247 <td class="mlabels-left">
248 <table class="memname">
249 <tr>
250 <td class="memname">static int lib_get_L2_total_size </td>
251 <td>(</td>
252 <td class="paramname"></td><td>)</td>
253 <td></td>
254 </tr>
255 </table>
256 </td>
257 <td class="mlabels-right">
258 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
259 </tr>
260 </table>
261 </div><div class="memdoc">
263 <p>Function lib_get_L1D_SRAM_size() returns the size of the configured L1D SRAM that can be used as scratchpad. </p>
264 <dl class="retval"><dt>Return values</dt><dd>
265 <table class="retval">
266 <tr><td class="paramname">Size</td><td>of SRAM in L1D</td></tr>
267 </table>
268 </dd>
269 </dl>
270 <p>Function <a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga36b0570810554cc39ca3edd82fbff7c4" title="Function lib_get_L1D_SRAM_size() returns the size of the configured L1D SRAM that can be used as scra...">lib_get_L2_total_size()</a> returns the total size of L2.</p>
271 <dl class="retval"><dt>Return values</dt><dd>
272 <table class="retval">
273 <tr><td class="paramname">Maximum</td><td>size of SRAM in L2 </td></tr>
274 </table>
275 </dd>
276 </dl>
278 </div>
279 </div>
280 <a class="anchor" id="ga3380d4452c454d398a64256c8eeed723"></a>
281 <div class="memitem">
282 <div class="memproto">
283 <table class="memname">
284 <tr>
285 <td class="memname">int lib_L1D_config_SRAM </td>
286 <td>(</td>
287 <td class="paramtype">size_t </td>
288 <td class="paramname"><em>size_SRAM</em></td><td>)</td>
289 <td></td>
290 </tr>
291 </table>
292 </div><div class="memdoc">
294 <p>Function lib_get_L2_SRAM_size() returns the size of the configured L2 SRAM that can be used as scratchpad. </p>
295 <dl class="retval"><dt>Return values</dt><dd>
296 <table class="retval">
297 <tr><td class="paramname">Size</td><td>of SRAM in L2</td></tr>
298 </table>
299 </dd>
300 </dl>
301 <p>Function <a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga3380d4452c454d398a64256c8eeed723">lib_L1D_config_SRAM</a> configures L1D to have the desired SRAM size.</p>
302 <dl class="params"><dt>Parameters</dt><dd>
303 <table class="params">
304 <tr><td class="paramdir">[in]</td><td class="paramname">size_SRAM</td><td>desired L1D SRAM size in bytes</td></tr>
305 </table>
306 </dd>
307 </dl>
308 <dl class="retval"><dt>Return values</dt><dd>
309 <table class="retval">
310 <tr><td class="paramname">LIB_CACHE_SUCCESS</td><td>Success. No error. </td></tr>
311 <tr><td class="paramname">LIB_CACHE_ERROR</td><td>Failure.</td></tr>
312 </table>
313 </dd>
314 </dl>
315 <dl class="section remark"><dt>Remarks</dt><dd>L1D will be write-back invalidated before being configured. </dd>
316 <dd>
317 To avoid unnecessary cache configuration, users can first call function lib_get_L1D_SRAM_size() to find out current SRAM size. If it is the desired size, this function does not need to be called.</dd></dl>
318 <p>Function lib_get_L2_SRAM_size() returns the size of the configured L2 SRAM that can be used as scratchpad. </p>
320 </div>
321 </div>
322 <a class="anchor" id="ga529504ec5196118f6fc9d744b6209d61"></a>
323 <div class="memitem">
324 <div class="memproto">
325 <table class="memname">
326 <tr>
327 <td class="memname">int lib_L2_config_SRAM </td>
328 <td>(</td>
329 <td class="paramtype">size_t </td>
330 <td class="paramname"><em>size_SRAM</em></td><td>)</td>
331 <td></td>
332 </tr>
333 </table>
334 </div><div class="memdoc">
336 <p>Function <a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga529504ec5196118f6fc9d744b6209d61" title="Function lib_L2_config_SRAM() configures L2 to have desired SRAM size. ">lib_L2_config_SRAM()</a> configures L2 to have desired SRAM size. </p>
337 <dl class="params"><dt>Parameters</dt><dd>
338 <table class="params">
339 <tr><td class="paramdir">[in]</td><td class="paramname">size_SRAM</td><td>desired L2 SRAM size in bytes</td></tr>
340 </table>
341 </dd>
342 </dl>
343 <dl class="retval"><dt>Return values</dt><dd>
344 <table class="retval">
345 <tr><td class="paramname">LIB_CACHE_SUCCESS</td><td>Success. No error. </td></tr>
346 <tr><td class="paramname">LIB_CACHE_ERROR</td><td>Failure.</td></tr>
347 </table>
348 </dd>
349 </dl>
350 <dl class="section remark"><dt>Remarks</dt><dd>L2 will be write-back invalidated before being configured. </dd>
351 <dd>
352 To avoid unnecessary cache configuration, users can first call function lib_get_L2_SRAM_size() to find out current SRAM size. If it is the desired size, this function does not need to be called.</dd></dl>
353 <p>Function <a class="el" href="../../df/d7c/group__libarch__cachecfg.html#ga529504ec5196118f6fc9d744b6209d61" title="Function lib_L2_config_SRAM() configures L2 to have desired SRAM size. ">lib_L2_config_SRAM()</a> configures L2 to have desired SRAM size. </p>
355 </div>
356 </div>
357 </div><!-- contents -->
358 <!-- start footer part -->
359 <hr class="footer"/><address class="footer"><small>
360 Generated on Mon Mar 6 2017 14:10:51 for LibArch by  <a href="http://www.doxygen.org/index.html">
361 <img class="footer" src="../../doxygen.png" alt="doxygen"/>
362 </a> 1.8.6
363 </small></address>
364 </body>
365 </html>