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 <link href="tabs.css" rel="stylesheet" type="text/css"/>
11 <link href="extra_navtree.css" rel="stylesheet" type="text/css"/>
12 <link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
13 <link href="extra_search.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="jquery.js"></script>
15 <script type="text/javascript" src="dynsections.js"></script>
16 <script type="text/javascript" src="printComponentTabs.js"></script>
17 <script type="text/javascript" src="footer.js"></script>
18 <script type="text/javascript" src="navtree.js"></script>
19 <link href="navtree.css" rel="stylesheet" type="text/css"/>
20 <script type="text/javascript" src="resize.js"></script>
21 <script type="text/javascript" src="navtreedata.js"></script>
22 <script type="text/javascript" src="navtree.js"></script>
23 <link href="search/search.css" rel="stylesheet" type="text/css"/>
24 <script type="text/javascript" src="search/searchdata.js"></script>
25 <script type="text/javascript" src="search/search.js"></script>
26 <script type="text/javascript">
27 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
28 $(document).ready(function() { init_search(); });
31 <script type="text/javascript" src="darkmode_toggle.js"></script>
32 <link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
33 <link href="extra_navtree.css" rel="stylesheet" type="text/css"/>
34 <link href="extra_search.css" rel="stylesheet" type="text/css"/>
35 <link href="version.css" rel="stylesheet" type="text/css" />
36 <script type="text/javascript" src="../../../version.js"></script>
39 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
41 <table cellspacing="0" cellpadding="0">
43 <tr style="height: 55px;">
44 <td id="projectlogo" style="padding: 1.5em;"><img alt="Logo" src="cmsis_logo_white_small.png"/></td>
45 <td style="padding-left: 1em; padding-bottom: 1em;padding-top: 1em;">
46 <div id="projectname">CMSIS-Core (Cortex-A)
47  <span id="projectnumber"><script type="text/javascript">
49 writeHeader.call(this);
50 writeVersionDropdown.call(this);
55 <div id="projectbrief">CMSIS-Core support for Cortex-A processor-based devices</div>
57 <td> <div id="MSearchBox" class="MSearchBoxInactive">
59 <span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"> </span>
60 <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
61 onfocus="searchBox.OnSearchFieldFocus(true)"
62 onblur="searchBox.OnSearchFieldFocus(false)"
63 onkeyup="searchBox.OnSearchFieldChange(event)"/>
64 </span><span class="right">
65 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
69 <!--END !PROJECT_NAME-->
74 <!-- end header part -->
75 <div id="CMSISnav" class="tabs1">
77 <script type="text/javascript">
78 writeComponentTabs.call(this);
82 <script type="text/javascript">
83 writeSubComponentTabs.call(this);
85 <!-- Generated by Doxygen 1.9.6 -->
86 <script type="text/javascript">
87 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
88 var searchBox = new SearchBox("searchBox", "search/",'.html');
92 <div id="side-nav" class="ui-resizable side-nav-resizable">
94 <div id="nav-tree-contents">
95 <div id="nav-sync" class="sync"></div>
98 <div id="splitbar" style="-moz-user-select:none;"
99 class="ui-resizable-handle">
102 <script type="text/javascript">
103 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
104 $(document).ready(function(){initNavTree('group__MMU__functions.html',''); initResizable(); });
107 <div id="doc-content">
108 <!-- window showing the filter options -->
109 <div id="MSearchSelectWindow"
110 onmouseover="return searchBox.OnSearchSelectShow()"
111 onmouseout="return searchBox.OnSearchSelectHide()"
112 onkeydown="return searchBox.OnSearchSelectKey(event)">
115 <!-- iframe showing the search results (closed by default) -->
116 <div id="MSearchResultsWindow">
117 <div id="MSearchResults">
120 <div id="SRResults"></div>
121 <div class="SRStatus" id="Loading">Loading...</div>
122 <div class="SRStatus" id="Searching">Searching...</div>
123 <div class="SRStatus" id="NoMatches">No Matches</div>
130 <div class="summary">
131 <a href="#groups">Content</a> |
132 <a href="#func-members">Functions</a> </div>
133 <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>
135 <div class="contents">
137 <p>MMU Functions provide control of the Memory Management Unit using translation tables and attributes of different regions of the physical memory map.<br />
138 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>.
139 <a href="#details">More...</a></p>
140 <table class="memberdecls">
141 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="groups" name="groups"></a>
142 Content</h2></td></tr>
143 <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>
144 <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>
145 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
146 </table><table class="memberdecls">
147 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
148 Functions</h2></td></tr>
149 <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>
150 <tr class="memdesc:ga9132cbfe3b2367de3db27daf4cc82ad7"><td class="mdescLeft"> </td><td class="mdescRight">Set section execution-never attribute. <br /></td></tr>
151 <tr class="separator:ga9132cbfe3b2367de3db27daf4cc82ad7"><td class="memSeparator" colspan="2"> </td></tr>
152 <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>
153 <tr class="memdesc:gabd88f4c41b74365c38209692785287d0"><td class="mdescLeft"> </td><td class="mdescRight">Set section domain. <br /></td></tr>
154 <tr class="separator:gabd88f4c41b74365c38209692785287d0"><td class="memSeparator" colspan="2"> </td></tr>
155 <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>
156 <tr class="memdesc:ga3577aec23189228c9f95abba50c3716d"><td class="mdescLeft"> </td><td class="mdescRight">Set section parity check. <br /></td></tr>
157 <tr class="separator:ga3577aec23189228c9f95abba50c3716d"><td class="memSeparator" colspan="2"> </td></tr>
158 <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>
159 <tr class="memdesc:ga946866c84a72690c385ee07545bf8145"><td class="mdescLeft"> </td><td class="mdescRight">Set section access privileges. <br /></td></tr>
160 <tr class="separator:ga946866c84a72690c385ee07545bf8145"><td class="memSeparator" colspan="2"> </td></tr>
161 <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>
162 <tr class="memdesc:ga29ea426394746cdd6a4b4c14164ec6b9"><td class="mdescLeft"> </td><td class="mdescRight">Set section shareability. <br /></td></tr>
163 <tr class="separator:ga29ea426394746cdd6a4b4c14164ec6b9"><td class="memSeparator" colspan="2"> </td></tr>
164 <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>
165 <tr class="memdesc:ga3ca22117a7f2d3c4d1cd1bf832cc4d2f"><td class="mdescLeft"> </td><td class="mdescRight">Set section Global attribute. <br /></td></tr>
166 <tr class="separator:ga3ca22117a7f2d3c4d1cd1bf832cc4d2f"><td class="memSeparator" colspan="2"> </td></tr>
167 <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>
168 <tr class="memdesc:ga84a5a15ee353d70a9b904e3814bd94d8"><td class="mdescLeft"> </td><td class="mdescRight">Set section Security attribute. <br /></td></tr>
169 <tr class="separator:ga84a5a15ee353d70a9b904e3814bd94d8"><td class="memSeparator" colspan="2"> </td></tr>
170 <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>
171 <tr class="memdesc:gab0e0fed40d998757147beb8fcf05a890"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page execution-never attribute. <br /></td></tr>
172 <tr class="separator:gab0e0fed40d998757147beb8fcf05a890"><td class="memSeparator" colspan="2"> </td></tr>
173 <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>
174 <tr class="memdesc:ga45f5389cb1351bb2806a38ac8c32d416"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page domain. <br /></td></tr>
175 <tr class="separator:ga45f5389cb1351bb2806a38ac8c32d416"><td class="memSeparator" colspan="2"> </td></tr>
176 <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>
177 <tr class="memdesc:gab15289c416609cd56dde816b39a4cea4"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page parity check. <br /></td></tr>
178 <tr class="separator:gab15289c416609cd56dde816b39a4cea4"><td class="memSeparator" colspan="2"> </td></tr>
179 <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>
180 <tr class="memdesc:gac7c88d4d613350059b4d77814ea2c7a0"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page access privileges. <br /></td></tr>
181 <tr class="separator:gac7c88d4d613350059b4d77814ea2c7a0"><td class="memSeparator" colspan="2"> </td></tr>
182 <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>
183 <tr class="memdesc:gaaa19560532778e4fdc667e56fd2dd378"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page shareability. <br /></td></tr>
184 <tr class="separator:gaaa19560532778e4fdc667e56fd2dd378"><td class="memSeparator" colspan="2"> </td></tr>
185 <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>
186 <tr class="memdesc:ga14dfeaf8983de57521aaa66c19dd43c9"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page Global attribute. <br /></td></tr>
187 <tr class="separator:ga14dfeaf8983de57521aaa66c19dd43c9"><td class="memSeparator" colspan="2"> </td></tr>
188 <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>
189 <tr class="memdesc:ga2c1887ed6aaff0a51e3effc3db595c94"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page Security attribute. <br /></td></tr>
190 <tr class="separator:ga2c1887ed6aaff0a51e3effc3db595c94"><td class="memSeparator" colspan="2"> </td></tr>
191 <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>
192 <tr class="memdesc:ga353d3d794bcd1b35b3b5aeb73d6feb08"><td class="mdescLeft"> </td><td class="mdescRight">Set Section memory attributes. <br /></td></tr>
193 <tr class="separator:ga353d3d794bcd1b35b3b5aeb73d6feb08"><td class="memSeparator" colspan="2"> </td></tr>
194 <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>
195 <tr class="memdesc:ga9a2946f7c93bcb05cdd20be691a54b8c"><td class="mdescLeft"> </td><td class="mdescRight">Set 4k/64k page memory attributes. <br /></td></tr>
196 <tr class="separator:ga9a2946f7c93bcb05cdd20be691a54b8c"><td class="memSeparator" colspan="2"> </td></tr>
197 <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>
198 <tr class="memdesc:ga4f21eee79309cf8cde694d0d7e1205bd"><td class="mdescLeft"> </td><td class="mdescRight">Create a L1 section descriptor. <br /></td></tr>
199 <tr class="separator:ga4f21eee79309cf8cde694d0d7e1205bd"><td class="memSeparator" colspan="2"> </td></tr>
200 <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>
201 <tr class="memdesc:gaa2fcfb63c7019665b8a352d54f55d740"><td class="mdescLeft"> </td><td class="mdescRight">Create a L1 and L2 4k/64k page descriptor. <br /></td></tr>
202 <tr class="separator:gaa2fcfb63c7019665b8a352d54f55d740"><td class="memSeparator" colspan="2"> </td></tr>
203 <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>
204 <tr class="memdesc:gaaff28ea191391cbbd389d74327961753"><td class="mdescLeft"> </td><td class="mdescRight">Create a 1MB Section. <br /></td></tr>
205 <tr class="separator:gaaff28ea191391cbbd389d74327961753"><td class="memSeparator" colspan="2"> </td></tr>
206 <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>
207 <tr class="memdesc:ga823cca9649a28bab8a90f8bd9bb92d83"><td class="mdescLeft"> </td><td class="mdescRight">Create a 4k page entry. <br /></td></tr>
208 <tr class="separator:ga823cca9649a28bab8a90f8bd9bb92d83"><td class="memSeparator" colspan="2"> </td></tr>
209 <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>
210 <tr class="memdesc:ga48c509501f94a3f7316e79f8ccd34184"><td class="mdescLeft"> </td><td class="mdescRight">Create a 64k page entry. <br /></td></tr>
211 <tr class="separator:ga48c509501f94a3f7316e79f8ccd34184"><td class="memSeparator" colspan="2"> </td></tr>
212 <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>
213 <tr class="memdesc:ga63334cbd77d310d078eb226c7542b96b"><td class="mdescLeft"> </td><td class="mdescRight">Enable MMU. <br /></td></tr>
214 <tr class="separator:ga63334cbd77d310d078eb226c7542b96b"><td class="memSeparator" colspan="2"> </td></tr>
215 <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>
216 <tr class="memdesc:ga2a2badd06531e04f559b97fdb2aea154"><td class="mdescLeft"> </td><td class="mdescRight">Disable MMU. <br /></td></tr>
217 <tr class="separator:ga2a2badd06531e04f559b97fdb2aea154"><td class="memSeparator" colspan="2"> </td></tr>
218 <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>
219 <tr class="memdesc:ga9de65bea1cabf73dc4302e0e727cc8c3"><td class="mdescLeft"> </td><td class="mdescRight">Invalidate entire unified TLB. <br /></td></tr>
220 <tr class="separator:ga9de65bea1cabf73dc4302e0e727cc8c3"><td class="memSeparator" colspan="2"> </td></tr>
222 <a name="details" id="details"></a><h2 class="groupheader">Description</h2>
223 <p>MMU Functions provide control of the Memory Management Unit using translation tables and attributes of different regions of the physical memory map.<br />
224 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>
225 <h2 class="groupheader">Function Documentation</h2>
226 <a id="gac7c88d4d613350059b4d77814ea2c7a0" name="gac7c88d4d613350059b4d77814ea2c7a0"></a>
227 <h2 class="memtitle"><span class="permalink"><a href="#gac7c88d4d613350059b4d77814ea2c7a0">◆ </a></span>MMU_APPage()</h2>
229 <div class="memitem">
230 <div class="memproto">
231 <table class="memname">
233 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_APPage </td>
235 <td class="paramtype">uint32_t * </td>
236 <td class="paramname"><em>descriptor_l2</em>, </td>
239 <td class="paramkey"></td>
241 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga2ee598252f996e4f96640b096291d280">mmu_access_Type</a> </td>
242 <td class="paramname"><em>user</em>, </td>
245 <td class="paramkey"></td>
247 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga2ee598252f996e4f96640b096291d280">mmu_access_Type</a> </td>
248 <td class="paramname"><em>priv</em>, </td>
251 <td class="paramkey"></td>
253 <td class="paramtype">uint32_t </td>
254 <td class="paramname"><em>afe</em> </td>
262 </div><div class="memdoc">
264 <p>Set 4k/64k page access privileges. </p>
265 <dl class="params"><dt>Parameters</dt><dd>
266 <table class="params">
267 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor. </td></tr>
268 <tr><td class="paramdir">[in]</td><td class="paramname">user</td><td>User Level Access: NO_ACCESS, RW, READ </td></tr>
269 <tr><td class="paramdir">[in]</td><td class="paramname">priv</td><td>Privilege Level Access: NO_ACCESS, RW, READ </td></tr>
270 <tr><td class="paramdir">[in]</td><td class="paramname">afe</td><td>Access flag enable</td></tr>
274 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
275 <p>The function sets 4k/64k page access privileges </p>
279 <a id="ga946866c84a72690c385ee07545bf8145" name="ga946866c84a72690c385ee07545bf8145"></a>
280 <h2 class="memtitle"><span class="permalink"><a href="#ga946866c84a72690c385ee07545bf8145">◆ </a></span>MMU_APSection()</h2>
282 <div class="memitem">
283 <div class="memproto">
284 <table class="memname">
286 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_APSection </td>
288 <td class="paramtype">uint32_t * </td>
289 <td class="paramname"><em>descriptor_l1</em>, </td>
292 <td class="paramkey"></td>
294 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga2ee598252f996e4f96640b096291d280">mmu_access_Type</a> </td>
295 <td class="paramname"><em>user</em>, </td>
298 <td class="paramkey"></td>
300 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga2ee598252f996e4f96640b096291d280">mmu_access_Type</a> </td>
301 <td class="paramname"><em>priv</em>, </td>
304 <td class="paramkey"></td>
306 <td class="paramtype">uint32_t </td>
307 <td class="paramname"><em>afe</em> </td>
315 </div><div class="memdoc">
317 <p>Set section access privileges. </p>
318 <dl class="params"><dt>Parameters</dt><dd>
319 <table class="params">
320 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
321 <tr><td class="paramdir">[in]</td><td class="paramname">user</td><td>User Level Access: NO_ACCESS, RW, READ </td></tr>
322 <tr><td class="paramdir">[in]</td><td class="paramname">priv</td><td>Privilege Level Access: NO_ACCESS, RW, READ </td></tr>
323 <tr><td class="paramdir">[in]</td><td class="paramname">afe</td><td>Access flag enable</td></tr>
327 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
328 <p>The function sets section access privileges </p>
332 <a id="ga2a2badd06531e04f559b97fdb2aea154" name="ga2a2badd06531e04f559b97fdb2aea154"></a>
333 <h2 class="memtitle"><span class="permalink"><a href="#ga2a2badd06531e04f559b97fdb2aea154">◆ </a></span>MMU_Disable()</h2>
335 <div class="memitem">
336 <div class="memproto">
337 <table class="memname">
339 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void MMU_Disable </td>
341 <td class="paramtype">void </td>
342 <td class="paramname"></td><td>)</td>
346 </div><div class="memdoc">
352 <a id="ga45f5389cb1351bb2806a38ac8c32d416" name="ga45f5389cb1351bb2806a38ac8c32d416"></a>
353 <h2 class="memtitle"><span class="permalink"><a href="#ga45f5389cb1351bb2806a38ac8c32d416">◆ </a></span>MMU_DomainPage()</h2>
355 <div class="memitem">
356 <div class="memproto">
357 <table class="memname">
359 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_DomainPage </td>
361 <td class="paramtype">uint32_t * </td>
362 <td class="paramname"><em>descriptor_l1</em>, </td>
365 <td class="paramkey"></td>
367 <td class="paramtype">uint8_t </td>
368 <td class="paramname"><em>domain</em> </td>
376 </div><div class="memdoc">
378 <p>Set 4k/64k page domain. </p>
379 <dl class="params"><dt>Parameters</dt><dd>
380 <table class="params">
381 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
382 <tr><td class="paramdir">[in]</td><td class="paramname">domain</td><td>Page domain</td></tr>
386 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
387 <p>The function sets 4k/64k page domain </p>
391 <a id="gabd88f4c41b74365c38209692785287d0" name="gabd88f4c41b74365c38209692785287d0"></a>
392 <h2 class="memtitle"><span class="permalink"><a href="#gabd88f4c41b74365c38209692785287d0">◆ </a></span>MMU_DomainSection()</h2>
394 <div class="memitem">
395 <div class="memproto">
396 <table class="memname">
398 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_DomainSection </td>
400 <td class="paramtype">uint32_t * </td>
401 <td class="paramname"><em>descriptor_l1</em>, </td>
404 <td class="paramkey"></td>
406 <td class="paramtype">uint8_t </td>
407 <td class="paramname"><em>domain</em> </td>
415 </div><div class="memdoc">
417 <p>Set section domain. </p>
418 <dl class="params"><dt>Parameters</dt><dd>
419 <table class="params">
420 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
421 <tr><td class="paramdir">[in]</td><td class="paramname">domain</td><td>Section domain</td></tr>
425 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
426 <p>The function sets section domain. </p>
430 <a id="ga63334cbd77d310d078eb226c7542b96b" name="ga63334cbd77d310d078eb226c7542b96b"></a>
431 <h2 class="memtitle"><span class="permalink"><a href="#ga63334cbd77d310d078eb226c7542b96b">◆ </a></span>MMU_Enable()</h2>
433 <div class="memitem">
434 <div class="memproto">
435 <table class="memname">
437 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void MMU_Enable </td>
439 <td class="paramtype">void </td>
440 <td class="paramname"></td><td>)</td>
444 </div><div class="memdoc">
447 <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>
451 <a id="gaa2fcfb63c7019665b8a352d54f55d740" name="gaa2fcfb63c7019665b8a352d54f55d740"></a>
452 <h2 class="memtitle"><span class="permalink"><a href="#gaa2fcfb63c7019665b8a352d54f55d740">◆ </a></span>MMU_GetPageDescriptor()</h2>
454 <div class="memitem">
455 <div class="memproto">
456 <table class="memname">
458 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_GetPageDescriptor </td>
460 <td class="paramtype">uint32_t * </td>
461 <td class="paramname"><em>descriptor</em>, </td>
464 <td class="paramkey"></td>
466 <td class="paramtype">uint32_t * </td>
467 <td class="paramname"><em>descriptor2</em>, </td>
470 <td class="paramkey"></td>
472 <td class="paramtype"><a class="el" href="structmmu__region__attributes__Type.html">mmu_region_attributes_Type</a> </td>
473 <td class="paramname"><em>reg</em> </td>
481 </div><div class="memdoc">
483 <p>Create a L1 and L2 4k/64k page descriptor. </p>
484 <dl class="params"><dt>Parameters</dt><dd>
485 <table class="params">
486 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor</td><td>L1 descriptor </td></tr>
487 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor2</td><td>L2 descriptor </td></tr>
488 <tr><td class="paramdir">[in]</td><td class="paramname">reg</td><td>4k/64k page attributes</td></tr>
492 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
493 <p>The function creates a 4k/64k page descriptor. Assumptions:</p><ul>
494 <li>TEX remap disabled, so memory type and attributes are described directly by bits in the descriptor</li>
495 <li>Functions always return 0 </li>
500 <a id="ga4f21eee79309cf8cde694d0d7e1205bd" name="ga4f21eee79309cf8cde694d0d7e1205bd"></a>
501 <h2 class="memtitle"><span class="permalink"><a href="#ga4f21eee79309cf8cde694d0d7e1205bd">◆ </a></span>MMU_GetSectionDescriptor()</h2>
503 <div class="memitem">
504 <div class="memproto">
505 <table class="memname">
507 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_GetSectionDescriptor </td>
509 <td class="paramtype">uint32_t * </td>
510 <td class="paramname"><em>descriptor</em>, </td>
513 <td class="paramkey"></td>
515 <td class="paramtype"><a class="el" href="structmmu__region__attributes__Type.html">mmu_region_attributes_Type</a> </td>
516 <td class="paramname"><em>reg</em> </td>
524 </div><div class="memdoc">
526 <p>Create a L1 section descriptor. </p>
527 <dl class="params"><dt>Parameters</dt><dd>
528 <table class="params">
529 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor</td><td>L1 descriptor </td></tr>
530 <tr><td class="paramdir">[in]</td><td class="paramname">reg</td><td>Section attributes</td></tr>
534 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
535 <p>The function creates a section descriptor. </p>
539 <a id="ga14dfeaf8983de57521aaa66c19dd43c9" name="ga14dfeaf8983de57521aaa66c19dd43c9"></a>
540 <h2 class="memtitle"><span class="permalink"><a href="#ga14dfeaf8983de57521aaa66c19dd43c9">◆ </a></span>MMU_GlobalPage()</h2>
542 <div class="memitem">
543 <div class="memproto">
544 <table class="memname">
546 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_GlobalPage </td>
548 <td class="paramtype">uint32_t * </td>
549 <td class="paramname"><em>descriptor_l2</em>, </td>
552 <td class="paramkey"></td>
554 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga04160605fbe20914c8ef020430684a30">mmu_global_Type</a> </td>
555 <td class="paramname"><em>g_bit</em> </td>
563 </div><div class="memdoc">
565 <p>Set 4k/64k page Global attribute. </p>
566 <dl class="params"><dt>Parameters</dt><dd>
567 <table class="params">
568 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor. </td></tr>
569 <tr><td class="paramdir">[in]</td><td class="paramname">g_bit</td><td>4k/64k page attribute: GLOBAL, NON_GLOBAL</td></tr>
573 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
574 <p>The function sets 4k/64k page Global attribute </p>
578 <a id="ga3ca22117a7f2d3c4d1cd1bf832cc4d2f" name="ga3ca22117a7f2d3c4d1cd1bf832cc4d2f"></a>
579 <h2 class="memtitle"><span class="permalink"><a href="#ga3ca22117a7f2d3c4d1cd1bf832cc4d2f">◆ </a></span>MMU_GlobalSection()</h2>
581 <div class="memitem">
582 <div class="memproto">
583 <table class="memname">
585 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_GlobalSection </td>
587 <td class="paramtype">uint32_t * </td>
588 <td class="paramname"><em>descriptor_l1</em>, </td>
591 <td class="paramkey"></td>
593 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga04160605fbe20914c8ef020430684a30">mmu_global_Type</a> </td>
594 <td class="paramname"><em>g_bit</em> </td>
602 </div><div class="memdoc">
604 <p>Set section Global attribute. </p>
605 <dl class="params"><dt>Parameters</dt><dd>
606 <table class="params">
607 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
608 <tr><td class="paramdir">[in]</td><td class="paramname">g_bit</td><td>Section attribute: GLOBAL, NON_GLOBAL</td></tr>
612 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
613 <p>The function sets section Global attribute </p>
617 <a id="ga9de65bea1cabf73dc4302e0e727cc8c3" name="ga9de65bea1cabf73dc4302e0e727cc8c3"></a>
618 <h2 class="memtitle"><span class="permalink"><a href="#ga9de65bea1cabf73dc4302e0e727cc8c3">◆ </a></span>MMU_InvalidateTLB()</h2>
620 <div class="memitem">
621 <div class="memproto">
622 <table class="memname">
624 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void MMU_InvalidateTLB </td>
626 <td class="paramtype">void </td>
627 <td class="paramname"></td><td>)</td>
631 </div><div class="memdoc">
633 <p>Invalidate entire unified TLB. </p>
637 <a id="ga9a2946f7c93bcb05cdd20be691a54b8c" name="ga9a2946f7c93bcb05cdd20be691a54b8c"></a>
638 <h2 class="memtitle"><span class="permalink"><a href="#ga9a2946f7c93bcb05cdd20be691a54b8c">◆ </a></span>MMU_MemoryPage()</h2>
640 <div class="memitem">
641 <div class="memproto">
642 <table class="memname">
644 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_MemoryPage </td>
646 <td class="paramtype">uint32_t * </td>
647 <td class="paramname"><em>descriptor_l2</em>, </td>
650 <td class="paramkey"></td>
652 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga83ac8de9263f89879079da521e86d5f2">mmu_memory_Type</a> </td>
653 <td class="paramname"><em>mem</em>, </td>
656 <td class="paramkey"></td>
658 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga11c86b7b193efb2c59b6a2179a02f584">mmu_cacheability_Type</a> </td>
659 <td class="paramname"><em>outer</em>, </td>
662 <td class="paramkey"></td>
664 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga11c86b7b193efb2c59b6a2179a02f584">mmu_cacheability_Type</a> </td>
665 <td class="paramname"><em>inner</em>, </td>
668 <td class="paramkey"></td>
670 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#gab184b824a6d7cb728bd46c6abcd0c21a">mmu_region_size_Type</a> </td>
671 <td class="paramname"><em>page</em> </td>
679 </div><div class="memdoc">
681 <p>Set 4k/64k page memory attributes. </p>
682 <dl class="params"><dt>Parameters</dt><dd>
683 <table class="params">
684 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor. </td></tr>
685 <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>
686 <tr><td class="paramdir">[in]</td><td class="paramname">outer</td><td>Outer cacheability: NON_CACHEABLE, WB_WA, WT, WB_NO_WA, </td></tr>
687 <tr><td class="paramdir">[in]</td><td class="paramname">inner</td><td>Inner cacheability: NON_CACHEABLE, WB_WA, WT, WB_NO_WA, </td></tr>
688 <tr><td class="paramdir">[in]</td><td class="paramname">page</td><td>Page size</td></tr>
692 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
693 <p>The function sets 4k/64k page memory attributes </p>
697 <a id="ga353d3d794bcd1b35b3b5aeb73d6feb08" name="ga353d3d794bcd1b35b3b5aeb73d6feb08"></a>
698 <h2 class="memtitle"><span class="permalink"><a href="#ga353d3d794bcd1b35b3b5aeb73d6feb08">◆ </a></span>MMU_MemorySection()</h2>
700 <div class="memitem">
701 <div class="memproto">
702 <table class="memname">
704 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_MemorySection </td>
706 <td class="paramtype">uint32_t * </td>
707 <td class="paramname"><em>descriptor_l1</em>, </td>
710 <td class="paramkey"></td>
712 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga83ac8de9263f89879079da521e86d5f2">mmu_memory_Type</a> </td>
713 <td class="paramname"><em>mem</em>, </td>
716 <td class="paramkey"></td>
718 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga11c86b7b193efb2c59b6a2179a02f584">mmu_cacheability_Type</a> </td>
719 <td class="paramname"><em>outer</em>, </td>
722 <td class="paramkey"></td>
724 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga11c86b7b193efb2c59b6a2179a02f584">mmu_cacheability_Type</a> </td>
725 <td class="paramname"><em>inner</em> </td>
733 </div><div class="memdoc">
735 <p>Set Section memory attributes. </p>
736 <dl class="params"><dt>Parameters</dt><dd>
737 <table class="params">
738 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
739 <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>
740 <tr><td class="paramdir">[in]</td><td class="paramname">outer</td><td>Outer cacheability: NON_CACHEABLE, WB_WA, WT, WB_NO_WA, </td></tr>
741 <tr><td class="paramdir">[in]</td><td class="paramname">inner</td><td>Inner cacheability: NON_CACHEABLE, WB_WA, WT, WB_NO_WA,</td></tr>
745 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
746 <p>The function sets section memory attributes </p>
750 <a id="gab15289c416609cd56dde816b39a4cea4" name="gab15289c416609cd56dde816b39a4cea4"></a>
751 <h2 class="memtitle"><span class="permalink"><a href="#gab15289c416609cd56dde816b39a4cea4">◆ </a></span>MMU_PPage()</h2>
753 <div class="memitem">
754 <div class="memproto">
755 <table class="memname">
757 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_PPage </td>
759 <td class="paramtype">uint32_t * </td>
760 <td class="paramname"><em>descriptor_l1</em>, </td>
763 <td class="paramkey"></td>
765 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga06d94c0eaa22d713636acaff81485409">mmu_ecc_check_Type</a> </td>
766 <td class="paramname"><em>p_bit</em> </td>
774 </div><div class="memdoc">
776 <p>Set 4k/64k page parity check. </p>
777 <dl class="params"><dt>Parameters</dt><dd>
778 <table class="params">
779 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
780 <tr><td class="paramdir">[in]</td><td class="paramname">p_bit</td><td>Parity check: ECC_DISABLED, ECC_ENABLED</td></tr>
784 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
785 <p>The function sets 4k/64k page parity check </p>
789 <a id="ga3577aec23189228c9f95abba50c3716d" name="ga3577aec23189228c9f95abba50c3716d"></a>
790 <h2 class="memtitle"><span class="permalink"><a href="#ga3577aec23189228c9f95abba50c3716d">◆ </a></span>MMU_PSection()</h2>
792 <div class="memitem">
793 <div class="memproto">
794 <table class="memname">
796 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_PSection </td>
798 <td class="paramtype">uint32_t * </td>
799 <td class="paramname"><em>descriptor_l1</em>, </td>
802 <td class="paramkey"></td>
804 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga06d94c0eaa22d713636acaff81485409">mmu_ecc_check_Type</a> </td>
805 <td class="paramname"><em>p_bit</em> </td>
813 </div><div class="memdoc">
815 <p>Set section parity check. </p>
816 <dl class="params"><dt>Parameters</dt><dd>
817 <table class="params">
818 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
819 <tr><td class="paramdir">[in]</td><td class="paramname">p_bit</td><td>Parity check: ECC_DISABLED, ECC_ENABLED</td></tr>
823 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
824 <p>The function sets section parity check </p>
828 <a id="ga2c1887ed6aaff0a51e3effc3db595c94" name="ga2c1887ed6aaff0a51e3effc3db595c94"></a>
829 <h2 class="memtitle"><span class="permalink"><a href="#ga2c1887ed6aaff0a51e3effc3db595c94">◆ </a></span>MMU_SecurePage()</h2>
831 <div class="memitem">
832 <div class="memproto">
833 <table class="memname">
835 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_SecurePage </td>
837 <td class="paramtype">uint32_t * </td>
838 <td class="paramname"><em>descriptor_l1</em>, </td>
841 <td class="paramkey"></td>
843 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#gac3d277641df9fb3bb3b555e2e79dd639">mmu_secure_Type</a> </td>
844 <td class="paramname"><em>s_bit</em> </td>
852 </div><div class="memdoc">
854 <p>Set 4k/64k page Security attribute. </p>
855 <dl class="params"><dt>Parameters</dt><dd>
856 <table class="params">
857 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
858 <tr><td class="paramdir">[in]</td><td class="paramname">s_bit</td><td>4k/64k page Security attribute: SECURE, NON_SECURE</td></tr>
862 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
863 <p>The function sets 4k/64k page Global attribute </p>
867 <a id="ga84a5a15ee353d70a9b904e3814bd94d8" name="ga84a5a15ee353d70a9b904e3814bd94d8"></a>
868 <h2 class="memtitle"><span class="permalink"><a href="#ga84a5a15ee353d70a9b904e3814bd94d8">◆ </a></span>MMU_SecureSection()</h2>
870 <div class="memitem">
871 <div class="memproto">
872 <table class="memname">
874 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_SecureSection </td>
876 <td class="paramtype">uint32_t * </td>
877 <td class="paramname"><em>descriptor_l1</em>, </td>
880 <td class="paramkey"></td>
882 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#gac3d277641df9fb3bb3b555e2e79dd639">mmu_secure_Type</a> </td>
883 <td class="paramname"><em>s_bit</em> </td>
891 </div><div class="memdoc">
893 <p>Set section Security attribute. </p>
894 <dl class="params"><dt>Parameters</dt><dd>
895 <table class="params">
896 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
897 <tr><td class="paramdir">[in]</td><td class="paramname">s_bit</td><td>Section Security attribute: SECURE, NON_SECURE</td></tr>
901 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
902 <p>The function sets section Global attribute </p>
906 <a id="gaaa19560532778e4fdc667e56fd2dd378" name="gaaa19560532778e4fdc667e56fd2dd378"></a>
907 <h2 class="memtitle"><span class="permalink"><a href="#gaaa19560532778e4fdc667e56fd2dd378">◆ </a></span>MMU_SharedPage()</h2>
909 <div class="memitem">
910 <div class="memproto">
911 <table class="memname">
913 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_SharedPage </td>
915 <td class="paramtype">uint32_t * </td>
916 <td class="paramname"><em>descriptor_l2</em>, </td>
919 <td class="paramkey"></td>
921 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#gab884a11fa8d094573ab77fb1c0f8d8a7">mmu_shared_Type</a> </td>
922 <td class="paramname"><em>s_bit</em> </td>
930 </div><div class="memdoc">
932 <p>Set 4k/64k page shareability. </p>
933 <dl class="params"><dt>Parameters</dt><dd>
934 <table class="params">
935 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor. </td></tr>
936 <tr><td class="paramdir">[in]</td><td class="paramname">s_bit</td><td>4k/64k page shareability: NON_SHARED, SHARED</td></tr>
940 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
941 <p>The function sets 4k/64k page shareability </p>
945 <a id="ga29ea426394746cdd6a4b4c14164ec6b9" name="ga29ea426394746cdd6a4b4c14164ec6b9"></a>
946 <h2 class="memtitle"><span class="permalink"><a href="#ga29ea426394746cdd6a4b4c14164ec6b9">◆ </a></span>MMU_SharedSection()</h2>
948 <div class="memitem">
949 <div class="memproto">
950 <table class="memname">
952 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_SharedSection </td>
954 <td class="paramtype">uint32_t * </td>
955 <td class="paramname"><em>descriptor_l1</em>, </td>
958 <td class="paramkey"></td>
960 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#gab884a11fa8d094573ab77fb1c0f8d8a7">mmu_shared_Type</a> </td>
961 <td class="paramname"><em>s_bit</em> </td>
969 </div><div class="memdoc">
971 <p>Set section shareability. </p>
972 <dl class="params"><dt>Parameters</dt><dd>
973 <table class="params">
974 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
975 <tr><td class="paramdir">[in]</td><td class="paramname">s_bit</td><td>Section shareability: NON_SHARED, SHARED</td></tr>
979 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
980 <p>The function sets section shareability </p>
984 <a id="ga823cca9649a28bab8a90f8bd9bb92d83" name="ga823cca9649a28bab8a90f8bd9bb92d83"></a>
985 <h2 class="memtitle"><span class="permalink"><a href="#ga823cca9649a28bab8a90f8bd9bb92d83">◆ </a></span>MMU_TTPage4k()</h2>
987 <div class="memitem">
988 <div class="memproto">
989 <table class="memname">
991 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void MMU_TTPage4k </td>
993 <td class="paramtype">uint32_t * </td>
994 <td class="paramname"><em>ttb</em>, </td>
997 <td class="paramkey"></td>
999 <td class="paramtype">uint32_t </td>
1000 <td class="paramname"><em>base_address</em>, </td>
1003 <td class="paramkey"></td>
1005 <td class="paramtype">uint32_t </td>
1006 <td class="paramname"><em>count</em>, </td>
1009 <td class="paramkey"></td>
1011 <td class="paramtype">uint32_t </td>
1012 <td class="paramname"><em>descriptor_l1</em>, </td>
1015 <td class="paramkey"></td>
1017 <td class="paramtype">uint32_t * </td>
1018 <td class="paramname"><em>ttb_l2</em>, </td>
1021 <td class="paramkey"></td>
1023 <td class="paramtype">uint32_t </td>
1024 <td class="paramname"><em>descriptor_l2</em> </td>
1032 </div><div class="memdoc">
1034 <p>Create a 4k page entry. </p>
1035 <dl class="params"><dt>Parameters</dt><dd>
1036 <table class="params">
1037 <tr><td class="paramdir">[in]</td><td class="paramname">ttb</td><td>L1 table base address </td></tr>
1038 <tr><td class="paramdir">[in]</td><td class="paramname">base_address</td><td>4k base address </td></tr>
1039 <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>Number of 4k pages to create </td></tr>
1040 <tr><td class="paramdir">[in]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor (region attributes) </td></tr>
1041 <tr><td class="paramdir">[in]</td><td class="paramname">ttb_l2</td><td>L2 table base address </td></tr>
1042 <tr><td class="paramdir">[in]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor (region attributes) </td></tr>
1049 <a id="ga48c509501f94a3f7316e79f8ccd34184" name="ga48c509501f94a3f7316e79f8ccd34184"></a>
1050 <h2 class="memtitle"><span class="permalink"><a href="#ga48c509501f94a3f7316e79f8ccd34184">◆ </a></span>MMU_TTPage64k()</h2>
1052 <div class="memitem">
1053 <div class="memproto">
1054 <table class="memname">
1056 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void MMU_TTPage64k </td>
1058 <td class="paramtype">uint32_t * </td>
1059 <td class="paramname"><em>ttb</em>, </td>
1062 <td class="paramkey"></td>
1064 <td class="paramtype">uint32_t </td>
1065 <td class="paramname"><em>base_address</em>, </td>
1068 <td class="paramkey"></td>
1070 <td class="paramtype">uint32_t </td>
1071 <td class="paramname"><em>count</em>, </td>
1074 <td class="paramkey"></td>
1076 <td class="paramtype">uint32_t </td>
1077 <td class="paramname"><em>descriptor_l1</em>, </td>
1080 <td class="paramkey"></td>
1082 <td class="paramtype">uint32_t * </td>
1083 <td class="paramname"><em>ttb_l2</em>, </td>
1086 <td class="paramkey"></td>
1088 <td class="paramtype">uint32_t </td>
1089 <td class="paramname"><em>descriptor_l2</em> </td>
1097 </div><div class="memdoc">
1099 <p>Create a 64k page entry. </p>
1100 <dl class="params"><dt>Parameters</dt><dd>
1101 <table class="params">
1102 <tr><td class="paramdir">[in]</td><td class="paramname">ttb</td><td>L1 table base address </td></tr>
1103 <tr><td class="paramdir">[in]</td><td class="paramname">base_address</td><td>64k base address </td></tr>
1104 <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>Number of 64k pages to create </td></tr>
1105 <tr><td class="paramdir">[in]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor (region attributes) </td></tr>
1106 <tr><td class="paramdir">[in]</td><td class="paramname">ttb_l2</td><td>L2 table base address </td></tr>
1107 <tr><td class="paramdir">[in]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor (region attributes) </td></tr>
1114 <a id="gaaff28ea191391cbbd389d74327961753" name="gaaff28ea191391cbbd389d74327961753"></a>
1115 <h2 class="memtitle"><span class="permalink"><a href="#gaaff28ea191391cbbd389d74327961753">◆ </a></span>MMU_TTSection()</h2>
1117 <div class="memitem">
1118 <div class="memproto">
1119 <table class="memname">
1121 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void MMU_TTSection </td>
1123 <td class="paramtype">uint32_t * </td>
1124 <td class="paramname"><em>ttb</em>, </td>
1127 <td class="paramkey"></td>
1129 <td class="paramtype">uint32_t </td>
1130 <td class="paramname"><em>base_address</em>, </td>
1133 <td class="paramkey"></td>
1135 <td class="paramtype">uint32_t </td>
1136 <td class="paramname"><em>count</em>, </td>
1139 <td class="paramkey"></td>
1141 <td class="paramtype">uint32_t </td>
1142 <td class="paramname"><em>descriptor_l1</em> </td>
1150 </div><div class="memdoc">
1152 <p>Create a 1MB Section. </p>
1153 <dl class="params"><dt>Parameters</dt><dd>
1154 <table class="params">
1155 <tr><td class="paramdir">[in]</td><td class="paramname">ttb</td><td>Translation table base address </td></tr>
1156 <tr><td class="paramdir">[in]</td><td class="paramname">base_address</td><td>Section base address </td></tr>
1157 <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>Number of sections to create </td></tr>
1158 <tr><td class="paramdir">[in]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor (region attributes) </td></tr>
1165 <a id="gab0e0fed40d998757147beb8fcf05a890" name="gab0e0fed40d998757147beb8fcf05a890"></a>
1166 <h2 class="memtitle"><span class="permalink"><a href="#gab0e0fed40d998757147beb8fcf05a890">◆ </a></span>MMU_XNPage()</h2>
1168 <div class="memitem">
1169 <div class="memproto">
1170 <table class="memname">
1172 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_XNPage </td>
1174 <td class="paramtype">uint32_t * </td>
1175 <td class="paramname"><em>descriptor_l2</em>, </td>
1178 <td class="paramkey"></td>
1180 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga2fe1157deda82e66b9a1b19772309b63">mmu_execute_Type</a> </td>
1181 <td class="paramname"><em>xn</em>, </td>
1184 <td class="paramkey"></td>
1186 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#gab184b824a6d7cb728bd46c6abcd0c21a">mmu_region_size_Type</a> </td>
1187 <td class="paramname"><em>page</em> </td>
1195 </div><div class="memdoc">
1197 <p>Set 4k/64k page execution-never attribute. </p>
1198 <dl class="params"><dt>Parameters</dt><dd>
1199 <table class="params">
1200 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l2</td><td>L2 descriptor. </td></tr>
1201 <tr><td class="paramdir">[in]</td><td class="paramname">xn</td><td>Page execution-never attribute : EXECUTE , NON_EXECUTE. </td></tr>
1202 <tr><td class="paramdir">[in]</td><td class="paramname">page</td><td>Page size: PAGE_4k, PAGE_64k,</td></tr>
1206 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
1207 <p>The function sets 4k/64k page execution-never attribute </p>
1211 <a id="ga9132cbfe3b2367de3db27daf4cc82ad7" name="ga9132cbfe3b2367de3db27daf4cc82ad7"></a>
1212 <h2 class="memtitle"><span class="permalink"><a href="#ga9132cbfe3b2367de3db27daf4cc82ad7">◆ </a></span>MMU_XNSection()</h2>
1214 <div class="memitem">
1215 <div class="memproto">
1216 <table class="memname">
1218 <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> int MMU_XNSection </td>
1220 <td class="paramtype">uint32_t * </td>
1221 <td class="paramname"><em>descriptor_l1</em>, </td>
1224 <td class="paramkey"></td>
1226 <td class="paramtype"><a class="el" href="group__MMU__defs__gr.html#ga2fe1157deda82e66b9a1b19772309b63">mmu_execute_Type</a> </td>
1227 <td class="paramname"><em>xn</em> </td>
1235 </div><div class="memdoc">
1237 <p>Set section execution-never attribute. </p>
1238 <dl class="params"><dt>Parameters</dt><dd>
1239 <table class="params">
1240 <tr><td class="paramdir">[out]</td><td class="paramname">descriptor_l1</td><td>L1 descriptor. </td></tr>
1241 <tr><td class="paramdir">[in]</td><td class="paramname">xn</td><td>Section execution-never attribute : EXECUTE , NON_EXECUTE.</td></tr>
1245 <dl class="section return"><dt>Returns</dt><dd>0</dd></dl>
1246 <p>The function sets section execution-never attribute </p>
1250 </div><!-- contents -->
1251 </div><!-- doc-content -->
1252 <!-- start footer part -->
1253 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1256 <script type="text/javascript">
1258 writeFooter.call(this);