1 <!-- HTML header for doxygen 1.9.6-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>CMSIS-Core (Cortex-A): Memory Management Unit Functions</title>
9 <link href="doxygen.css" rel="stylesheet" type="text/css" />
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <script type="text/javascript" src="tabs.js"></script>
13 <script type="text/javascript" src="footer.js"></script>
14 <script type="text/javascript" src="navtree.js"></script>
15 <link href="navtree.css" rel="stylesheet" type="text/css"/>
16 <script type="text/javascript" src="resize.js"></script>
17 <script type="text/javascript" src="navtreedata.js"></script>
18 <script type="text/javascript" src="navtree.js"></script>
19 <link href="search/search.css" rel="stylesheet" type="text/css"/>
20 <script type="text/javascript" src="search/searchdata.js"></script>
21 <script type="text/javascript" src="search/search.js"></script>
22 <script type="text/javascript">
23 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
24 $(document).ready(function() { init_search(); });
27 <script type="text/javascript" src="darkmode_toggle.js"></script>
28 <link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
29 <link href="extra_navtree.css" rel="stylesheet" type="text/css"/>
30 <link href="extra_search.css" rel="stylesheet" type="text/css"/>
31 <link href="extra_tabs.css" rel="stylesheet" type="text/css"/>
32 <link href="version.css" rel="stylesheet" type="text/css"/>
33 <script type="text/javascript" src="../../version.js"></script>
36 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
38 <table cellspacing="0" cellpadding="0">
40 <tr style="height: 55px;">
41 <td id="projectlogo" style="padding: 1.5em;"><img alt="Logo" src="cmsis_logo_white_small.png"/></td>
42 <td style="padding-left: 1em; padding-bottom: 1em;padding-top: 1em;">
43 <div id="projectname">CMSIS-Core (Cortex-A)
44  <span id="projectnumber"><script type="text/javascript">
46 writeHeader.call(this);
47 writeVersionDropdown.call(this, "CMSIS-Core (Cortex-A)");
52 <div id="projectbrief">CMSIS-Core support for Cortex-A processor-based devices</div>
54 <td> <div id="MSearchBox" class="MSearchBoxInactive">
56 <span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"> </span>
57 <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
58 onfocus="searchBox.OnSearchFieldFocus(true)"
59 onblur="searchBox.OnSearchFieldFocus(false)"
60 onkeyup="searchBox.OnSearchFieldChange(event)"/>
61 </span><span class="right">
62 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
66 <!--END !PROJECT_NAME-->
71 <!-- end header part -->
72 <div id="CMSISnav" class="tabs1">
74 <script type="text/javascript">
75 writeComponentTabs.call(this);
79 <script type="text/javascript">
80 writeSubComponentTabs.call(this);
82 <!-- Generated by Doxygen 1.9.6 -->
83 <script type="text/javascript">
84 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
85 var searchBox = new SearchBox("searchBox", "search/",'.html');
89 <div id="side-nav" class="ui-resizable side-nav-resizable">
91 <div id="nav-tree-contents">
92 <div id="nav-sync" class="sync"></div>
95 <div id="splitbar" style="-moz-user-select:none;"
96 class="ui-resizable-handle">
99 <script type="text/javascript">
100 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
101 $(document).ready(function(){initNavTree('group__MMU__functions.html',''); initResizable(); });
104 <div id="doc-content">
105 <!-- window showing the filter options -->
106 <div id="MSearchSelectWindow"
107 onmouseover="return searchBox.OnSearchSelectShow()"
108 onmouseout="return searchBox.OnSearchSelectHide()"
109 onkeydown="return searchBox.OnSearchSelectKey(event)">
112 <!-- iframe showing the search results (closed by default) -->
113 <div id="MSearchResultsWindow">
114 <div id="MSearchResults">
117 <div id="SRResults"></div>
118 <div class="SRStatus" id="Loading">Loading...</div>
119 <div class="SRStatus" id="Searching">Searching...</div>
120 <div class="SRStatus" id="NoMatches">No Matches</div>
127 <div class="summary">
128 <a href="#groups">Content</a> |
129 <a href="#func-members">Functions</a> </div>
130 <div class="headertitle"><div class="title">Memory Management Unit Functions<div class="ingroups"><a class="el" href="group__CMSIS__Core__FunctionInterface.html">Core Peripherals</a></div></div></div>
132 <div class="contents">
134 <p>MMU Functions provide control of the Memory Management Unit using translation tables and attributes of different regions of the physical memory map.<br />
135 Reference: <a href="http://infocenter.arm.com/help/topic/com.arm.doc.ddi0406c/index.html">Architecture Reference Manual Reference Manual - Armv7-A and Armv7-R edition</a>.
136 <a href="#details">More...</a></p>
137 <table class="memberdecls">
138 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="groups" name="groups"></a>
139 Content</h2></td></tr>
140 <tr class="memitem:group__MMU__defs__gr"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__defs__gr.html">MMU Defines and Structs</a></td></tr>
141 <tr class="memdesc:group__MMU__defs__gr"><td class="mdescLeft"> </td><td class="mdescRight">Defines and structures that relate to the Memory Management Unit. <br /></td></tr>
142 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
143 </table><table class="memberdecls">
144 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
145 Functions</h2></td></tr>
146 <tr class="memitem:ga9132cbfe3b2367de3db27daf4cc82ad7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga9132cbfe3b2367de3db27daf4cc82ad7">MMU_XNSection</a> (uint32_t *descriptor_l1, <a class="el" href="group__MMU__defs__gr.html#ga2fe1157deda82e66b9a1b19772309b63">mmu_execute_Type</a> xn)</td></tr>
147 <tr class="memdesc:ga9132cbfe3b2367de3db27daf4cc82ad7"><td class="mdescLeft"> </td><td class="mdescRight">Set section execution-never attribute. <br /></td></tr>
148 <tr class="separator:ga9132cbfe3b2367de3db27daf4cc82ad7"><td class="memSeparator" colspan="2"> </td></tr>
149 <tr class="memitem:gabd88f4c41b74365c38209692785287d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#gabd88f4c41b74365c38209692785287d0">MMU_DomainSection</a> (uint32_t *descriptor_l1, uint8_t domain)</td></tr>
150 <tr class="memdesc:gabd88f4c41b74365c38209692785287d0"><td class="mdescLeft"> </td><td class="mdescRight">Set section domain. <br /></td></tr>
151 <tr class="separator:gabd88f4c41b74365c38209692785287d0"><td class="memSeparator" colspan="2"> </td></tr>
152 <tr class="memitem:ga3577aec23189228c9f95abba50c3716d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga3577aec23189228c9f95abba50c3716d">MMU_PSection</a> (uint32_t *descriptor_l1, <a class="el" href="group__MMU__defs__gr.html#ga06d94c0eaa22d713636acaff81485409">mmu_ecc_check_Type</a> p_bit)</td></tr>
153 <tr class="memdesc:ga3577aec23189228c9f95abba50c3716d"><td class="mdescLeft"> </td><td class="mdescRight">Set section parity check. <br /></td></tr>
154 <tr class="separator:ga3577aec23189228c9f95abba50c3716d"><td class="memSeparator" colspan="2"> </td></tr>
155 <tr class="memitem:ga946866c84a72690c385ee07545bf8145"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga946866c84a72690c385ee07545bf8145">MMU_APSection</a> (uint32_t *descriptor_l1, <a class="el" href="group__MMU__defs__gr.html#ga2ee598252f996e4f96640b096291d280">mmu_access_Type</a> user, <a class="el" href="group__MMU__defs__gr.html#ga2ee598252f996e4f96640b096291d280">mmu_access_Type</a> priv, uint32_t afe)</td></tr>
156 <tr class="memdesc:ga946866c84a72690c385ee07545bf8145"><td class="mdescLeft"> </td><td class="mdescRight">Set section access privileges. <br /></td></tr>
157 <tr class="separator:ga946866c84a72690c385ee07545bf8145"><td class="memSeparator" colspan="2"> </td></tr>
158 <tr class="memitem:ga29ea426394746cdd6a4b4c14164ec6b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga29ea426394746cdd6a4b4c14164ec6b9">MMU_SharedSection</a> (uint32_t *descriptor_l1, <a class="el" href="group__MMU__defs__gr.html#gab884a11fa8d094573ab77fb1c0f8d8a7">mmu_shared_Type</a> s_bit)</td></tr>
159 <tr class="memdesc:ga29ea426394746cdd6a4b4c14164ec6b9"><td class="mdescLeft"> </td><td class="mdescRight">Set section shareability. <br /></td></tr>
160 <tr class="separator:ga29ea426394746cdd6a4b4c14164ec6b9"><td class="memSeparator" colspan="2"> </td></tr>
161 <tr class="memitem:ga3ca22117a7f2d3c4d1cd1bf832cc4d2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga3ca22117a7f2d3c4d1cd1bf832cc4d2f">MMU_GlobalSection</a> (uint32_t *descriptor_l1, <a class="el" href="group__MMU__defs__gr.html#ga04160605fbe20914c8ef020430684a30">mmu_global_Type</a> g_bit)</td></tr>
162 <tr class="memdesc:ga3ca22117a7f2d3c4d1cd1bf832cc4d2f"><td class="mdescLeft"> </td><td class="mdescRight">Set section Global attribute. <br /></td></tr>
163 <tr class="separator:ga3ca22117a7f2d3c4d1cd1bf832cc4d2f"><td class="memSeparator" colspan="2"> </td></tr>
164 <tr class="memitem:ga84a5a15ee353d70a9b904e3814bd94d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga84a5a15ee353d70a9b904e3814bd94d8">MMU_SecureSection</a> (uint32_t *descriptor_l1, <a class="el" href="group__MMU__defs__gr.html#gac3d277641df9fb3bb3b555e2e79dd639">mmu_secure_Type</a> s_bit)</td></tr>
165 <tr class="memdesc:ga84a5a15ee353d70a9b904e3814bd94d8"><td class="mdescLeft"> </td><td class="mdescRight">Set section Security attribute. <br /></td></tr>
166 <tr class="separator:ga84a5a15ee353d70a9b904e3814bd94d8"><td class="memSeparator" colspan="2"> </td></tr>
167 <tr class="memitem:gab0e0fed40d998757147beb8fcf05a890"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#gab0e0fed40d998757147beb8fcf05a890">MMU_XNPage</a> (uint32_t *descriptor_l2, <a class="el" href="group__MMU__defs__gr.html#ga2fe1157deda82e66b9a1b19772309b63">mmu_execute_Type</a> xn, <a class="el" href="group__MMU__defs__gr.html#gab184b824a6d7cb728bd46c6abcd0c21a">mmu_region_size_Type</a> page)</td></tr>
168 <tr class="memdesc:gab0e0fed40d998757147beb8fcf05a890"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page execution-never attribute. <br /></td></tr>
169 <tr class="separator:gab0e0fed40d998757147beb8fcf05a890"><td class="memSeparator" colspan="2"> </td></tr>
170 <tr class="memitem:ga45f5389cb1351bb2806a38ac8c32d416"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga45f5389cb1351bb2806a38ac8c32d416">MMU_DomainPage</a> (uint32_t *descriptor_l1, uint8_t domain)</td></tr>
171 <tr class="memdesc:ga45f5389cb1351bb2806a38ac8c32d416"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page domain. <br /></td></tr>
172 <tr class="separator:ga45f5389cb1351bb2806a38ac8c32d416"><td class="memSeparator" colspan="2"> </td></tr>
173 <tr class="memitem:gab15289c416609cd56dde816b39a4cea4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#gab15289c416609cd56dde816b39a4cea4">MMU_PPage</a> (uint32_t *descriptor_l1, <a class="el" href="group__MMU__defs__gr.html#ga06d94c0eaa22d713636acaff81485409">mmu_ecc_check_Type</a> p_bit)</td></tr>
174 <tr class="memdesc:gab15289c416609cd56dde816b39a4cea4"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page parity check. <br /></td></tr>
175 <tr class="separator:gab15289c416609cd56dde816b39a4cea4"><td class="memSeparator" colspan="2"> </td></tr>
176 <tr class="memitem:gac7c88d4d613350059b4d77814ea2c7a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#gac7c88d4d613350059b4d77814ea2c7a0">MMU_APPage</a> (uint32_t *descriptor_l2, <a class="el" href="group__MMU__defs__gr.html#ga2ee598252f996e4f96640b096291d280">mmu_access_Type</a> user, <a class="el" href="group__MMU__defs__gr.html#ga2ee598252f996e4f96640b096291d280">mmu_access_Type</a> priv, uint32_t afe)</td></tr>
177 <tr class="memdesc:gac7c88d4d613350059b4d77814ea2c7a0"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page access privileges. <br /></td></tr>
178 <tr class="separator:gac7c88d4d613350059b4d77814ea2c7a0"><td class="memSeparator" colspan="2"> </td></tr>
179 <tr class="memitem:gaaa19560532778e4fdc667e56fd2dd378"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#gaaa19560532778e4fdc667e56fd2dd378">MMU_SharedPage</a> (uint32_t *descriptor_l2, <a class="el" href="group__MMU__defs__gr.html#gab884a11fa8d094573ab77fb1c0f8d8a7">mmu_shared_Type</a> s_bit)</td></tr>
180 <tr class="memdesc:gaaa19560532778e4fdc667e56fd2dd378"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page shareability. <br /></td></tr>
181 <tr class="separator:gaaa19560532778e4fdc667e56fd2dd378"><td class="memSeparator" colspan="2"> </td></tr>
182 <tr class="memitem:ga14dfeaf8983de57521aaa66c19dd43c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga14dfeaf8983de57521aaa66c19dd43c9">MMU_GlobalPage</a> (uint32_t *descriptor_l2, <a class="el" href="group__MMU__defs__gr.html#ga04160605fbe20914c8ef020430684a30">mmu_global_Type</a> g_bit)</td></tr>
183 <tr class="memdesc:ga14dfeaf8983de57521aaa66c19dd43c9"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page Global attribute. <br /></td></tr>
184 <tr class="separator:ga14dfeaf8983de57521aaa66c19dd43c9"><td class="memSeparator" colspan="2"> </td></tr>
185 <tr class="memitem:ga2c1887ed6aaff0a51e3effc3db595c94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga2c1887ed6aaff0a51e3effc3db595c94">MMU_SecurePage</a> (uint32_t *descriptor_l1, <a class="el" href="group__MMU__defs__gr.html#gac3d277641df9fb3bb3b555e2e79dd639">mmu_secure_Type</a> s_bit)</td></tr>
186 <tr class="memdesc:ga2c1887ed6aaff0a51e3effc3db595c94"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page Security attribute. <br /></td></tr>
187 <tr class="separator:ga2c1887ed6aaff0a51e3effc3db595c94"><td class="memSeparator" colspan="2"> </td></tr>
188 <tr class="memitem:ga353d3d794bcd1b35b3b5aeb73d6feb08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga353d3d794bcd1b35b3b5aeb73d6feb08">MMU_MemorySection</a> (uint32_t *descriptor_l1, <a class="el" href="group__MMU__defs__gr.html#ga83ac8de9263f89879079da521e86d5f2">mmu_memory_Type</a> mem, <a class="el" href="group__MMU__defs__gr.html#ga11c86b7b193efb2c59b6a2179a02f584">mmu_cacheability_Type</a> outer, <a class="el" href="group__MMU__defs__gr.html#ga11c86b7b193efb2c59b6a2179a02f584">mmu_cacheability_Type</a> inner)</td></tr>
189 <tr class="memdesc:ga353d3d794bcd1b35b3b5aeb73d6feb08"><td class="mdescLeft"> </td><td class="mdescRight">Set Section memory attributes. <br /></td></tr>
190 <tr class="separator:ga353d3d794bcd1b35b3b5aeb73d6feb08"><td class="memSeparator" colspan="2"> </td></tr>
191 <tr class="memitem:ga9a2946f7c93bcb05cdd20be691a54b8c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga9a2946f7c93bcb05cdd20be691a54b8c">MMU_MemoryPage</a> (uint32_t *descriptor_l2, <a class="el" href="group__MMU__defs__gr.html#ga83ac8de9263f89879079da521e86d5f2">mmu_memory_Type</a> mem, <a class="el" href="group__MMU__defs__gr.html#ga11c86b7b193efb2c59b6a2179a02f584">mmu_cacheability_Type</a> outer, <a class="el" href="group__MMU__defs__gr.html#ga11c86b7b193efb2c59b6a2179a02f584">mmu_cacheability_Type</a> inner, <a class="el" href="group__MMU__defs__gr.html#gab184b824a6d7cb728bd46c6abcd0c21a">mmu_region_size_Type</a> page)</td></tr>
192 <tr class="memdesc:ga9a2946f7c93bcb05cdd20be691a54b8c"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page memory attributes. <br /></td></tr>
193 <tr class="separator:ga9a2946f7c93bcb05cdd20be691a54b8c"><td class="memSeparator" colspan="2"> </td></tr>
194 <tr class="memitem:ga4f21eee79309cf8cde694d0d7e1205bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga4f21eee79309cf8cde694d0d7e1205bd">MMU_GetSectionDescriptor</a> (uint32_t *descriptor, <a class="el" href="structmmu__region__attributes__Type.html">mmu_region_attributes_Type</a> reg)</td></tr>
195 <tr class="memdesc:ga4f21eee79309cf8cde694d0d7e1205bd"><td class="mdescLeft"> </td><td class="mdescRight">Create a L1 section descriptor. <br /></td></tr>
196 <tr class="separator:ga4f21eee79309cf8cde694d0d7e1205bd"><td class="memSeparator" colspan="2"> </td></tr>
197 <tr class="memitem:gaa2fcfb63c7019665b8a352d54f55d740"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#gaa2fcfb63c7019665b8a352d54f55d740">MMU_GetPageDescriptor</a> (uint32_t *descriptor, uint32_t *descriptor2, <a class="el" href="structmmu__region__attributes__Type.html">mmu_region_attributes_Type</a> reg)</td></tr>
198 <tr class="memdesc:gaa2fcfb63c7019665b8a352d54f55d740"><td class="mdescLeft"> </td><td class="mdescRight">Create a L1 and L2 4k/64k page descriptor. <br /></td></tr>
199 <tr class="separator:gaa2fcfb63c7019665b8a352d54f55d740"><td class="memSeparator" colspan="2"> </td></tr>
200 <tr class="memitem:gaaff28ea191391cbbd389d74327961753"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#gaaff28ea191391cbbd389d74327961753">MMU_TTSection</a> (uint32_t *ttb, uint32_t base_address, uint32_t count, uint32_t descriptor_l1)</td></tr>
201 <tr class="memdesc:gaaff28ea191391cbbd389d74327961753"><td class="mdescLeft"> </td><td class="mdescRight">Create a 1MB Section. <br /></td></tr>
202 <tr class="separator:gaaff28ea191391cbbd389d74327961753"><td class="memSeparator" colspan="2"> </td></tr>
203 <tr class="memitem:ga823cca9649a28bab8a90f8bd9bb92d83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga823cca9649a28bab8a90f8bd9bb92d83">MMU_TTPage4k</a> (uint32_t *ttb, uint32_t base_address, uint32_t count, uint32_t descriptor_l1, uint32_t *ttb_l2, uint32_t descriptor_l2)</td></tr>
204 <tr class="memdesc:ga823cca9649a28bab8a90f8bd9bb92d83"><td class="mdescLeft"> </td><td class="mdescRight">Create a 4k page entry. <br /></td></tr>
205 <tr class="separator:ga823cca9649a28bab8a90f8bd9bb92d83"><td class="memSeparator" colspan="2"> </td></tr>
206 <tr class="memitem:ga48c509501f94a3f7316e79f8ccd34184"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga48c509501f94a3f7316e79f8ccd34184">MMU_TTPage64k</a> (uint32_t *ttb, uint32_t base_address, uint32_t count, uint32_t descriptor_l1, uint32_t *ttb_l2, uint32_t descriptor_l2)</td></tr>
207 <tr class="memdesc:ga48c509501f94a3f7316e79f8ccd34184"><td class="mdescLeft"> </td><td class="mdescRight">Create a 64k page entry. <br /></td></tr>
208 <tr class="separator:ga48c509501f94a3f7316e79f8ccd34184"><td class="memSeparator" colspan="2"> </td></tr>
209 <tr class="memitem:ga63334cbd77d310d078eb226c7542b96b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga63334cbd77d310d078eb226c7542b96b">MMU_Enable</a> (void)</td></tr>
210 <tr class="memdesc:ga63334cbd77d310d078eb226c7542b96b"><td class="mdescLeft"> </td><td class="mdescRight">Enable MMU. <br /></td></tr>
211 <tr class="separator:ga63334cbd77d310d078eb226c7542b96b"><td class="memSeparator" colspan="2"> </td></tr>
212 <tr class="memitem:ga2a2badd06531e04f559b97fdb2aea154"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga2a2badd06531e04f559b97fdb2aea154">MMU_Disable</a> (void)</td></tr>
213 <tr class="memdesc:ga2a2badd06531e04f559b97fdb2aea154"><td class="mdescLeft"> </td><td class="mdescRight">Disable MMU. <br /></td></tr>
214 <tr class="separator:ga2a2badd06531e04f559b97fdb2aea154"><td class="memSeparator" colspan="2"> </td></tr>
215 <tr class="memitem:ga9de65bea1cabf73dc4302e0e727cc8c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__MMU__functions.html#ga9de65bea1cabf73dc4302e0e727cc8c3">MMU_InvalidateTLB</a> (void)</td></tr>
216 <tr class="memdesc:ga9de65bea1cabf73dc4302e0e727cc8c3"><td class="mdescLeft"> </td><td class="mdescRight">Invalidate entire unified TLB. <br /></td></tr>
217 <tr class="separator:ga9de65bea1cabf73dc4302e0e727cc8c3"><td class="memSeparator" colspan="2"> </td></tr>
219 <a name="details" id="details"></a><h2 class="groupheader">Description</h2>
220 <p>MMU Functions provide control of the Memory Management Unit using translation tables and attributes of different regions of the physical memory map.<br />
221 Reference: <a href="http://infocenter.arm.com/help/topic/com.arm.doc.ddi0406c/index.html">Architecture Reference Manual Reference Manual - Armv7-A and Armv7-R edition</a>. </p>
222 <h2 class="groupheader">Function Documentation</h2>
223 <a id="gac7c88d4d613350059b4d77814ea2c7a0" name="gac7c88d4d613350059b4d77814ea2c7a0"></a>
224 <h2 class="memtitle"><span class="permalink"><a href="#gac7c88d4d613350059b4d77814ea2c7a0">◆ </a></span>MMU_APPage()</h2>
226 <div class="memitem">
227 <div class="memproto">
228 <table class="memname">
230 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_APPage </td>
232 <td class="paramtype">uint32_t * </td>
233 <td class="paramname"><em>descriptor_l2</em>, </td>
236 <td class="paramkey"></td>
238 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga2ee598252f996e4f96640b096291d280">mmu_access_Type</a> </td>
239 <td class="paramname"><em>user</em>, </td>
242 <td class="paramkey"></td>
244 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga2ee598252f996e4f96640b096291d280">mmu_access_Type</a> </td>
245 <td class="paramname"><em>priv</em>, </td>
248 <td class="paramkey"></td>
250 <td class="paramtype">uint32_t </td>
251 <td class="paramname"><em>afe</em> </td>
259 </div><div class="memdoc">
261 <p>Set 4k/64k page access privileges. </p>
262 <dl class="params"><dt>Parameters</dt><dd>
263 <table class="params">
264 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor. </td></tr>
265 <tr><td class="paramdir">[in]</td><td class="paramname">user</td><td>User Level Access: NO_ACCESS, RW, READ </td></tr>
266 <tr><td class="paramdir">[in]</td><td class="paramname">priv</td><td>Privilege Level Access: NO_ACCESS, RW, READ </td></tr>
267 <tr><td class="paramdir">[in]</td><td class="paramname">afe</td><td>Access flag enable</td></tr>
271 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
272 <p>The function sets 4k/64k page access privileges </p>
276 <a id="ga946866c84a72690c385ee07545bf8145" name="ga946866c84a72690c385ee07545bf8145"></a>
277 <h2 class="memtitle"><span class="permalink"><a href="#ga946866c84a72690c385ee07545bf8145">◆ </a></span>MMU_APSection()</h2>
279 <div class="memitem">
280 <div class="memproto">
281 <table class="memname">
283 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_APSection </td>
285 <td class="paramtype">uint32_t * </td>
286 <td class="paramname"><em>descriptor_l1</em>, </td>
289 <td class="paramkey"></td>
291 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga2ee598252f996e4f96640b096291d280">mmu_access_Type</a> </td>
292 <td class="paramname"><em>user</em>, </td>
295 <td class="paramkey"></td>
297 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga2ee598252f996e4f96640b096291d280">mmu_access_Type</a> </td>
298 <td class="paramname"><em>priv</em>, </td>
301 <td class="paramkey"></td>
303 <td class="paramtype">uint32_t </td>
304 <td class="paramname"><em>afe</em> </td>
312 </div><div class="memdoc">
314 <p>Set section access privileges. </p>
315 <dl class="params"><dt>Parameters</dt><dd>
316 <table class="params">
317 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
318 <tr><td class="paramdir">[in]</td><td class="paramname">user</td><td>User Level Access: NO_ACCESS, RW, READ </td></tr>
319 <tr><td class="paramdir">[in]</td><td class="paramname">priv</td><td>Privilege Level Access: NO_ACCESS, RW, READ </td></tr>
320 <tr><td class="paramdir">[in]</td><td class="paramname">afe</td><td>Access flag enable</td></tr>
324 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
325 <p>The function sets section access privileges </p>
329 <a id="ga2a2badd06531e04f559b97fdb2aea154" name="ga2a2badd06531e04f559b97fdb2aea154"></a>
330 <h2 class="memtitle"><span class="permalink"><a href="#ga2a2badd06531e04f559b97fdb2aea154">◆ </a></span>MMU_Disable()</h2>
332 <div class="memitem">
333 <div class="memproto">
334 <table class="memname">
336 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void MMU_Disable </td>
338 <td class="paramtype">void </td>
339 <td class="paramname"></td><td>)</td>
343 </div><div class="memdoc">
349 <a id="ga45f5389cb1351bb2806a38ac8c32d416" name="ga45f5389cb1351bb2806a38ac8c32d416"></a>
350 <h2 class="memtitle"><span class="permalink"><a href="#ga45f5389cb1351bb2806a38ac8c32d416">◆ </a></span>MMU_DomainPage()</h2>
352 <div class="memitem">
353 <div class="memproto">
354 <table class="memname">
356 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_DomainPage </td>
358 <td class="paramtype">uint32_t * </td>
359 <td class="paramname"><em>descriptor_l1</em>, </td>
362 <td class="paramkey"></td>
364 <td class="paramtype">uint8_t </td>
365 <td class="paramname"><em>domain</em> </td>
373 </div><div class="memdoc">
375 <p>Set 4k/64k page domain. </p>
376 <dl class="params"><dt>Parameters</dt><dd>
377 <table class="params">
378 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
379 <tr><td class="paramdir">[in]</td><td class="paramname">domain</td><td>Page domain</td></tr>
383 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
384 <p>The function sets 4k/64k page domain </p>
388 <a id="gabd88f4c41b74365c38209692785287d0" name="gabd88f4c41b74365c38209692785287d0"></a>
389 <h2 class="memtitle"><span class="permalink"><a href="#gabd88f4c41b74365c38209692785287d0">◆ </a></span>MMU_DomainSection()</h2>
391 <div class="memitem">
392 <div class="memproto">
393 <table class="memname">
395 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_DomainSection </td>
397 <td class="paramtype">uint32_t * </td>
398 <td class="paramname"><em>descriptor_l1</em>, </td>
401 <td class="paramkey"></td>
403 <td class="paramtype">uint8_t </td>
404 <td class="paramname"><em>domain</em> </td>
412 </div><div class="memdoc">
414 <p>Set section domain. </p>
415 <dl class="params"><dt>Parameters</dt><dd>
416 <table class="params">
417 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
418 <tr><td class="paramdir">[in]</td><td class="paramname">domain</td><td>Section domain</td></tr>
422 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
423 <p>The function sets section domain. </p>
427 <a id="ga63334cbd77d310d078eb226c7542b96b" name="ga63334cbd77d310d078eb226c7542b96b"></a>
428 <h2 class="memtitle"><span class="permalink"><a href="#ga63334cbd77d310d078eb226c7542b96b">◆ </a></span>MMU_Enable()</h2>
430 <div class="memitem">
431 <div class="memproto">
432 <table class="memname">
434 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void MMU_Enable </td>
436 <td class="paramtype">void </td>
437 <td class="paramname"></td><td>)</td>
441 </div><div class="memdoc">
444 <p>Set M bit 0 to enable the MMU Set AFE bit to enable simplified access permissions model Clear TRE bit to disable TEX remap and A bit to disable strict alignment fault checking </p>
448 <a id="gaa2fcfb63c7019665b8a352d54f55d740" name="gaa2fcfb63c7019665b8a352d54f55d740"></a>
449 <h2 class="memtitle"><span class="permalink"><a href="#gaa2fcfb63c7019665b8a352d54f55d740">◆ </a></span>MMU_GetPageDescriptor()</h2>
451 <div class="memitem">
452 <div class="memproto">
453 <table class="memname">
455 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_GetPageDescriptor </td>
457 <td class="paramtype">uint32_t * </td>
458 <td class="paramname"><em>descriptor</em>, </td>
461 <td class="paramkey"></td>
463 <td class="paramtype">uint32_t * </td>
464 <td class="paramname"><em>descriptor2</em>, </td>
467 <td class="paramkey"></td>
469 <td class="paramtype"><a class="el" href="structmmu__region__attributes__Type.html">mmu_region_attributes_Type</a> </td>
470 <td class="paramname"><em>reg</em> </td>
478 </div><div class="memdoc">
480 <p>Create a L1 and L2 4k/64k page descriptor. </p>
481 <dl class="params"><dt>Parameters</dt><dd>
482 <table class="params">
483 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor</td><td>L1 descriptor </td></tr>
484 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor2</td><td>L2 descriptor </td></tr>
485 <tr><td class="paramdir">[in]</td><td class="paramname">reg</td><td>4k/64k page attributes</td></tr>
489 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
490 <p>The function creates a 4k/64k page descriptor. Assumptions:</p><ul>
491 <li>TEX remap disabled, so memory type and attributes are described directly by bits in the descriptor</li>
492 <li>Functions always return 0 </li>
497 <a id="ga4f21eee79309cf8cde694d0d7e1205bd" name="ga4f21eee79309cf8cde694d0d7e1205bd"></a>
498 <h2 class="memtitle"><span class="permalink"><a href="#ga4f21eee79309cf8cde694d0d7e1205bd">◆ </a></span>MMU_GetSectionDescriptor()</h2>
500 <div class="memitem">
501 <div class="memproto">
502 <table class="memname">
504 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_GetSectionDescriptor </td>
506 <td class="paramtype">uint32_t * </td>
507 <td class="paramname"><em>descriptor</em>, </td>
510 <td class="paramkey"></td>
512 <td class="paramtype"><a class="el" href="structmmu__region__attributes__Type.html">mmu_region_attributes_Type</a> </td>
513 <td class="paramname"><em>reg</em> </td>
521 </div><div class="memdoc">
523 <p>Create a L1 section descriptor. </p>
524 <dl class="params"><dt>Parameters</dt><dd>
525 <table class="params">
526 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor</td><td>L1 descriptor </td></tr>
527 <tr><td class="paramdir">[in]</td><td class="paramname">reg</td><td>Section attributes</td></tr>
531 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
532 <p>The function creates a section descriptor. </p>
536 <a id="ga14dfeaf8983de57521aaa66c19dd43c9" name="ga14dfeaf8983de57521aaa66c19dd43c9"></a>
537 <h2 class="memtitle"><span class="permalink"><a href="#ga14dfeaf8983de57521aaa66c19dd43c9">◆ </a></span>MMU_GlobalPage()</h2>
539 <div class="memitem">
540 <div class="memproto">
541 <table class="memname">
543 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_GlobalPage </td>
545 <td class="paramtype">uint32_t * </td>
546 <td class="paramname"><em>descriptor_l2</em>, </td>
549 <td class="paramkey"></td>
551 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga04160605fbe20914c8ef020430684a30">mmu_global_Type</a> </td>
552 <td class="paramname"><em>g_bit</em> </td>
560 </div><div class="memdoc">
562 <p>Set 4k/64k page Global attribute. </p>
563 <dl class="params"><dt>Parameters</dt><dd>
564 <table class="params">
565 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor. </td></tr>
566 <tr><td class="paramdir">[in]</td><td class="paramname">g_bit</td><td>4k/64k page attribute: GLOBAL, NON_GLOBAL</td></tr>
570 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
571 <p>The function sets 4k/64k page Global attribute </p>
575 <a id="ga3ca22117a7f2d3c4d1cd1bf832cc4d2f" name="ga3ca22117a7f2d3c4d1cd1bf832cc4d2f"></a>
576 <h2 class="memtitle"><span class="permalink"><a href="#ga3ca22117a7f2d3c4d1cd1bf832cc4d2f">◆ </a></span>MMU_GlobalSection()</h2>
578 <div class="memitem">
579 <div class="memproto">
580 <table class="memname">
582 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_GlobalSection </td>
584 <td class="paramtype">uint32_t * </td>
585 <td class="paramname"><em>descriptor_l1</em>, </td>
588 <td class="paramkey"></td>
590 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga04160605fbe20914c8ef020430684a30">mmu_global_Type</a> </td>
591 <td class="paramname"><em>g_bit</em> </td>
599 </div><div class="memdoc">
601 <p>Set section Global attribute. </p>
602 <dl class="params"><dt>Parameters</dt><dd>
603 <table class="params">
604 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
605 <tr><td class="paramdir">[in]</td><td class="paramname">g_bit</td><td>Section attribute: GLOBAL, NON_GLOBAL</td></tr>
609 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
610 <p>The function sets section Global attribute </p>
614 <a id="ga9de65bea1cabf73dc4302e0e727cc8c3" name="ga9de65bea1cabf73dc4302e0e727cc8c3"></a>
615 <h2 class="memtitle"><span class="permalink"><a href="#ga9de65bea1cabf73dc4302e0e727cc8c3">◆ </a></span>MMU_InvalidateTLB()</h2>
617 <div class="memitem">
618 <div class="memproto">
619 <table class="memname">
621 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void MMU_InvalidateTLB </td>
623 <td class="paramtype">void </td>
624 <td class="paramname"></td><td>)</td>
628 </div><div class="memdoc">
630 <p>Invalidate entire unified TLB. </p>
634 <a id="ga9a2946f7c93bcb05cdd20be691a54b8c" name="ga9a2946f7c93bcb05cdd20be691a54b8c"></a>
635 <h2 class="memtitle"><span class="permalink"><a href="#ga9a2946f7c93bcb05cdd20be691a54b8c">◆ </a></span>MMU_MemoryPage()</h2>
637 <div class="memitem">
638 <div class="memproto">
639 <table class="memname">
641 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_MemoryPage </td>
643 <td class="paramtype">uint32_t * </td>
644 <td class="paramname"><em>descriptor_l2</em>, </td>
647 <td class="paramkey"></td>
649 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga83ac8de9263f89879079da521e86d5f2">mmu_memory_Type</a> </td>
650 <td class="paramname"><em>mem</em>, </td>
653 <td class="paramkey"></td>
655 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga11c86b7b193efb2c59b6a2179a02f584">mmu_cacheability_Type</a> </td>
656 <td class="paramname"><em>outer</em>, </td>
659 <td class="paramkey"></td>
661 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga11c86b7b193efb2c59b6a2179a02f584">mmu_cacheability_Type</a> </td>
662 <td class="paramname"><em>inner</em>, </td>
665 <td class="paramkey"></td>
667 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#gab184b824a6d7cb728bd46c6abcd0c21a">mmu_region_size_Type</a> </td>
668 <td class="paramname"><em>page</em> </td>
676 </div><div class="memdoc">
678 <p>Set 4k/64k page memory attributes. </p>
679 <dl class="params"><dt>Parameters</dt><dd>
680 <table class="params">
681 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor. </td></tr>
682 <tr><td class="paramdir">[in]</td><td class="paramname">mem</td><td>4k/64k page memory type: NORMAL, DEVICE, SHARED_DEVICE, NON_SHARED_DEVICE, STRONGLY_ORDERED </td></tr>
683 <tr><td class="paramdir">[in]</td><td class="paramname">outer</td><td>Outer cacheability: NON_CACHEABLE, WB_WA, WT, WB_NO_WA, </td></tr>
684 <tr><td class="paramdir">[in]</td><td class="paramname">inner</td><td>Inner cacheability: NON_CACHEABLE, WB_WA, WT, WB_NO_WA, </td></tr>
685 <tr><td class="paramdir">[in]</td><td class="paramname">page</td><td>Page size</td></tr>
689 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
690 <p>The function sets 4k/64k page memory attributes </p>
694 <a id="ga353d3d794bcd1b35b3b5aeb73d6feb08" name="ga353d3d794bcd1b35b3b5aeb73d6feb08"></a>
695 <h2 class="memtitle"><span class="permalink"><a href="#ga353d3d794bcd1b35b3b5aeb73d6feb08">◆ </a></span>MMU_MemorySection()</h2>
697 <div class="memitem">
698 <div class="memproto">
699 <table class="memname">
701 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_MemorySection </td>
703 <td class="paramtype">uint32_t * </td>
704 <td class="paramname"><em>descriptor_l1</em>, </td>
707 <td class="paramkey"></td>
709 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga83ac8de9263f89879079da521e86d5f2">mmu_memory_Type</a> </td>
710 <td class="paramname"><em>mem</em>, </td>
713 <td class="paramkey"></td>
715 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga11c86b7b193efb2c59b6a2179a02f584">mmu_cacheability_Type</a> </td>
716 <td class="paramname"><em>outer</em>, </td>
719 <td class="paramkey"></td>
721 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga11c86b7b193efb2c59b6a2179a02f584">mmu_cacheability_Type</a> </td>
722 <td class="paramname"><em>inner</em> </td>
730 </div><div class="memdoc">
732 <p>Set Section memory attributes. </p>
733 <dl class="params"><dt>Parameters</dt><dd>
734 <table class="params">
735 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
736 <tr><td class="paramdir">[in]</td><td class="paramname">mem</td><td>Section memory type: NORMAL, DEVICE, SHARED_DEVICE, NON_SHARED_DEVICE, STRONGLY_ORDERED </td></tr>
737 <tr><td class="paramdir">[in]</td><td class="paramname">outer</td><td>Outer cacheability: NON_CACHEABLE, WB_WA, WT, WB_NO_WA, </td></tr>
738 <tr><td class="paramdir">[in]</td><td class="paramname">inner</td><td>Inner cacheability: NON_CACHEABLE, WB_WA, WT, WB_NO_WA,</td></tr>
742 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
743 <p>The function sets section memory attributes </p>
747 <a id="gab15289c416609cd56dde816b39a4cea4" name="gab15289c416609cd56dde816b39a4cea4"></a>
748 <h2 class="memtitle"><span class="permalink"><a href="#gab15289c416609cd56dde816b39a4cea4">◆ </a></span>MMU_PPage()</h2>
750 <div class="memitem">
751 <div class="memproto">
752 <table class="memname">
754 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_PPage </td>
756 <td class="paramtype">uint32_t * </td>
757 <td class="paramname"><em>descriptor_l1</em>, </td>
760 <td class="paramkey"></td>
762 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga06d94c0eaa22d713636acaff81485409">mmu_ecc_check_Type</a> </td>
763 <td class="paramname"><em>p_bit</em> </td>
771 </div><div class="memdoc">
773 <p>Set 4k/64k page parity check. </p>
774 <dl class="params"><dt>Parameters</dt><dd>
775 <table class="params">
776 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
777 <tr><td class="paramdir">[in]</td><td class="paramname">p_bit</td><td>Parity check: ECC_DISABLED, ECC_ENABLED</td></tr>
781 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
782 <p>The function sets 4k/64k page parity check </p>
786 <a id="ga3577aec23189228c9f95abba50c3716d" name="ga3577aec23189228c9f95abba50c3716d"></a>
787 <h2 class="memtitle"><span class="permalink"><a href="#ga3577aec23189228c9f95abba50c3716d">◆ </a></span>MMU_PSection()</h2>
789 <div class="memitem">
790 <div class="memproto">
791 <table class="memname">
793 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_PSection </td>
795 <td class="paramtype">uint32_t * </td>
796 <td class="paramname"><em>descriptor_l1</em>, </td>
799 <td class="paramkey"></td>
801 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga06d94c0eaa22d713636acaff81485409">mmu_ecc_check_Type</a> </td>
802 <td class="paramname"><em>p_bit</em> </td>
810 </div><div class="memdoc">
812 <p>Set section parity check. </p>
813 <dl class="params"><dt>Parameters</dt><dd>
814 <table class="params">
815 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
816 <tr><td class="paramdir">[in]</td><td class="paramname">p_bit</td><td>Parity check: ECC_DISABLED, ECC_ENABLED</td></tr>
820 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
821 <p>The function sets section parity check </p>
825 <a id="ga2c1887ed6aaff0a51e3effc3db595c94" name="ga2c1887ed6aaff0a51e3effc3db595c94"></a>
826 <h2 class="memtitle"><span class="permalink"><a href="#ga2c1887ed6aaff0a51e3effc3db595c94">◆ </a></span>MMU_SecurePage()</h2>
828 <div class="memitem">
829 <div class="memproto">
830 <table class="memname">
832 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_SecurePage </td>
834 <td class="paramtype">uint32_t * </td>
835 <td class="paramname"><em>descriptor_l1</em>, </td>
838 <td class="paramkey"></td>
840 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#gac3d277641df9fb3bb3b555e2e79dd639">mmu_secure_Type</a> </td>
841 <td class="paramname"><em>s_bit</em> </td>
849 </div><div class="memdoc">
851 <p>Set 4k/64k page Security attribute. </p>
852 <dl class="params"><dt>Parameters</dt><dd>
853 <table class="params">
854 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
855 <tr><td class="paramdir">[in]</td><td class="paramname">s_bit</td><td>4k/64k page Security attribute: SECURE, NON_SECURE</td></tr>
859 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
860 <p>The function sets 4k/64k page Global attribute </p>
864 <a id="ga84a5a15ee353d70a9b904e3814bd94d8" name="ga84a5a15ee353d70a9b904e3814bd94d8"></a>
865 <h2 class="memtitle"><span class="permalink"><a href="#ga84a5a15ee353d70a9b904e3814bd94d8">◆ </a></span>MMU_SecureSection()</h2>
867 <div class="memitem">
868 <div class="memproto">
869 <table class="memname">
871 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_SecureSection </td>
873 <td class="paramtype">uint32_t * </td>
874 <td class="paramname"><em>descriptor_l1</em>, </td>
877 <td class="paramkey"></td>
879 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#gac3d277641df9fb3bb3b555e2e79dd639">mmu_secure_Type</a> </td>
880 <td class="paramname"><em>s_bit</em> </td>
888 </div><div class="memdoc">
890 <p>Set section Security attribute. </p>
891 <dl class="params"><dt>Parameters</dt><dd>
892 <table class="params">
893 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
894 <tr><td class="paramdir">[in]</td><td class="paramname">s_bit</td><td>Section Security attribute: SECURE, NON_SECURE</td></tr>
898 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
899 <p>The function sets section Global attribute </p>
903 <a id="gaaa19560532778e4fdc667e56fd2dd378" name="gaaa19560532778e4fdc667e56fd2dd378"></a>
904 <h2 class="memtitle"><span class="permalink"><a href="#gaaa19560532778e4fdc667e56fd2dd378">◆ </a></span>MMU_SharedPage()</h2>
906 <div class="memitem">
907 <div class="memproto">
908 <table class="memname">
910 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_SharedPage </td>
912 <td class="paramtype">uint32_t * </td>
913 <td class="paramname"><em>descriptor_l2</em>, </td>
916 <td class="paramkey"></td>
918 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#gab884a11fa8d094573ab77fb1c0f8d8a7">mmu_shared_Type</a> </td>
919 <td class="paramname"><em>s_bit</em> </td>
927 </div><div class="memdoc">
929 <p>Set 4k/64k page shareability. </p>
930 <dl class="params"><dt>Parameters</dt><dd>
931 <table class="params">
932 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor. </td></tr>
933 <tr><td class="paramdir">[in]</td><td class="paramname">s_bit</td><td>4k/64k page shareability: NON_SHARED, SHARED</td></tr>
937 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
938 <p>The function sets 4k/64k page shareability </p>
942 <a id="ga29ea426394746cdd6a4b4c14164ec6b9" name="ga29ea426394746cdd6a4b4c14164ec6b9"></a>
943 <h2 class="memtitle"><span class="permalink"><a href="#ga29ea426394746cdd6a4b4c14164ec6b9">◆ </a></span>MMU_SharedSection()</h2>
945 <div class="memitem">
946 <div class="memproto">
947 <table class="memname">
949 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_SharedSection </td>
951 <td class="paramtype">uint32_t * </td>
952 <td class="paramname"><em>descriptor_l1</em>, </td>
955 <td class="paramkey"></td>
957 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#gab884a11fa8d094573ab77fb1c0f8d8a7">mmu_shared_Type</a> </td>
958 <td class="paramname"><em>s_bit</em> </td>
966 </div><div class="memdoc">
968 <p>Set section shareability. </p>
969 <dl class="params"><dt>Parameters</dt><dd>
970 <table class="params">
971 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
972 <tr><td class="paramdir">[in]</td><td class="paramname">s_bit</td><td>Section shareability: NON_SHARED, SHARED</td></tr>
976 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
977 <p>The function sets section shareability </p>
981 <a id="ga823cca9649a28bab8a90f8bd9bb92d83" name="ga823cca9649a28bab8a90f8bd9bb92d83"></a>
982 <h2 class="memtitle"><span class="permalink"><a href="#ga823cca9649a28bab8a90f8bd9bb92d83">◆ </a></span>MMU_TTPage4k()</h2>
984 <div class="memitem">
985 <div class="memproto">
986 <table class="memname">
988 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void MMU_TTPage4k </td>
990 <td class="paramtype">uint32_t * </td>
991 <td class="paramname"><em>ttb</em>, </td>
994 <td class="paramkey"></td>
996 <td class="paramtype">uint32_t </td>
997 <td class="paramname"><em>base_address</em>, </td>
1000 <td class="paramkey"></td>
1002 <td class="paramtype">uint32_t </td>
1003 <td class="paramname"><em>count</em>, </td>
1006 <td class="paramkey"></td>
1008 <td class="paramtype">uint32_t </td>
1009 <td class="paramname"><em>descriptor_l1</em>, </td>
1012 <td class="paramkey"></td>
1014 <td class="paramtype">uint32_t * </td>
1015 <td class="paramname"><em>ttb_l2</em>, </td>
1018 <td class="paramkey"></td>
1020 <td class="paramtype">uint32_t </td>
1021 <td class="paramname"><em>descriptor_l2</em> </td>
1029 </div><div class="memdoc">
1031 <p>Create a 4k page entry. </p>
1032 <dl class="params"><dt>Parameters</dt><dd>
1033 <table class="params">
1034 <tr><td class="paramdir">[in]</td><td class="paramname">ttb</td><td>L1 table base address </td></tr>
1035 <tr><td class="paramdir">[in]</td><td class="paramname">base_address</td><td>4k base address </td></tr>
1036 <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>Number of 4k pages to create </td></tr>
1037 <tr><td class="paramdir">[in]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor (region attributes) </td></tr>
1038 <tr><td class="paramdir">[in]</td><td class="paramname">ttb_l2</td><td>L2 table base address </td></tr>
1039 <tr><td class="paramdir">[in]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor (region attributes) </td></tr>
1046 <a id="ga48c509501f94a3f7316e79f8ccd34184" name="ga48c509501f94a3f7316e79f8ccd34184"></a>
1047 <h2 class="memtitle"><span class="permalink"><a href="#ga48c509501f94a3f7316e79f8ccd34184">◆ </a></span>MMU_TTPage64k()</h2>
1049 <div class="memitem">
1050 <div class="memproto">
1051 <table class="memname">
1053 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void MMU_TTPage64k </td>
1055 <td class="paramtype">uint32_t * </td>
1056 <td class="paramname"><em>ttb</em>, </td>
1059 <td class="paramkey"></td>
1061 <td class="paramtype">uint32_t </td>
1062 <td class="paramname"><em>base_address</em>, </td>
1065 <td class="paramkey"></td>
1067 <td class="paramtype">uint32_t </td>
1068 <td class="paramname"><em>count</em>, </td>
1071 <td class="paramkey"></td>
1073 <td class="paramtype">uint32_t </td>
1074 <td class="paramname"><em>descriptor_l1</em>, </td>
1077 <td class="paramkey"></td>
1079 <td class="paramtype">uint32_t * </td>
1080 <td class="paramname"><em>ttb_l2</em>, </td>
1083 <td class="paramkey"></td>
1085 <td class="paramtype">uint32_t </td>
1086 <td class="paramname"><em>descriptor_l2</em> </td>
1094 </div><div class="memdoc">
1096 <p>Create a 64k page entry. </p>
1097 <dl class="params"><dt>Parameters</dt><dd>
1098 <table class="params">
1099 <tr><td class="paramdir">[in]</td><td class="paramname">ttb</td><td>L1 table base address </td></tr>
1100 <tr><td class="paramdir">[in]</td><td class="paramname">base_address</td><td>64k base address </td></tr>
1101 <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>Number of 64k pages to create </td></tr>
1102 <tr><td class="paramdir">[in]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor (region attributes) </td></tr>
1103 <tr><td class="paramdir">[in]</td><td class="paramname">ttb_l2</td><td>L2 table base address </td></tr>
1104 <tr><td class="paramdir">[in]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor (region attributes) </td></tr>
1111 <a id="gaaff28ea191391cbbd389d74327961753" name="gaaff28ea191391cbbd389d74327961753"></a>
1112 <h2 class="memtitle"><span class="permalink"><a href="#gaaff28ea191391cbbd389d74327961753">◆ </a></span>MMU_TTSection()</h2>
1114 <div class="memitem">
1115 <div class="memproto">
1116 <table class="memname">
1118 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void MMU_TTSection </td>
1120 <td class="paramtype">uint32_t * </td>
1121 <td class="paramname"><em>ttb</em>, </td>
1124 <td class="paramkey"></td>
1126 <td class="paramtype">uint32_t </td>
1127 <td class="paramname"><em>base_address</em>, </td>
1130 <td class="paramkey"></td>
1132 <td class="paramtype">uint32_t </td>
1133 <td class="paramname"><em>count</em>, </td>
1136 <td class="paramkey"></td>
1138 <td class="paramtype">uint32_t </td>
1139 <td class="paramname"><em>descriptor_l1</em> </td>
1147 </div><div class="memdoc">
1149 <p>Create a 1MB Section. </p>
1150 <dl class="params"><dt>Parameters</dt><dd>
1151 <table class="params">
1152 <tr><td class="paramdir">[in]</td><td class="paramname">ttb</td><td>Translation table base address </td></tr>
1153 <tr><td class="paramdir">[in]</td><td class="paramname">base_address</td><td>Section base address </td></tr>
1154 <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>Number of sections to create </td></tr>
1155 <tr><td class="paramdir">[in]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor (region attributes) </td></tr>
1162 <a id="gab0e0fed40d998757147beb8fcf05a890" name="gab0e0fed40d998757147beb8fcf05a890"></a>
1163 <h2 class="memtitle"><span class="permalink"><a href="#gab0e0fed40d998757147beb8fcf05a890">◆ </a></span>MMU_XNPage()</h2>
1165 <div class="memitem">
1166 <div class="memproto">
1167 <table class="memname">
1169 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_XNPage </td>
1171 <td class="paramtype">uint32_t * </td>
1172 <td class="paramname"><em>descriptor_l2</em>, </td>
1175 <td class="paramkey"></td>
1177 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga2fe1157deda82e66b9a1b19772309b63">mmu_execute_Type</a> </td>
1178 <td class="paramname"><em>xn</em>, </td>
1181 <td class="paramkey"></td>
1183 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#gab184b824a6d7cb728bd46c6abcd0c21a">mmu_region_size_Type</a> </td>
1184 <td class="paramname"><em>page</em> </td>
1192 </div><div class="memdoc">
1194 <p>Set 4k/64k page execution-never attribute. </p>
1195 <dl class="params"><dt>Parameters</dt><dd>
1196 <table class="params">
1197 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor. </td></tr>
1198 <tr><td class="paramdir">[in]</td><td class="paramname">xn</td><td>Page execution-never attribute : EXECUTE , NON_EXECUTE. </td></tr>
1199 <tr><td class="paramdir">[in]</td><td class="paramname">page</td><td>Page size: PAGE_4k, PAGE_64k,</td></tr>
1203 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
1204 <p>The function sets 4k/64k page execution-never attribute </p>
1208 <a id="ga9132cbfe3b2367de3db27daf4cc82ad7" name="ga9132cbfe3b2367de3db27daf4cc82ad7"></a>
1209 <h2 class="memtitle"><span class="permalink"><a href="#ga9132cbfe3b2367de3db27daf4cc82ad7">◆ </a></span>MMU_XNSection()</h2>
1211 <div class="memitem">
1212 <div class="memproto">
1213 <table class="memname">
1215 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_XNSection </td>
1217 <td class="paramtype">uint32_t * </td>
1218 <td class="paramname"><em>descriptor_l1</em>, </td>
1221 <td class="paramkey"></td>
1223 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga2fe1157deda82e66b9a1b19772309b63">mmu_execute_Type</a> </td>
1224 <td class="paramname"><em>xn</em> </td>
1232 </div><div class="memdoc">
1234 <p>Set section execution-never attribute. </p>
1235 <dl class="params"><dt>Parameters</dt><dd>
1236 <table class="params">
1237 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
1238 <tr><td class="paramdir">[in]</td><td class="paramname">xn</td><td>Section execution-never attribute : EXECUTE , NON_EXECUTE.</td></tr>
1242 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
1243 <p>The function sets section execution-never attribute </p>
1247 </div><!-- contents -->
1248 </div><!-- doc-content -->
1249 <!-- start footer part -->
1250 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1253 <script type="text/javascript">
1255 writeFooter.call(this);