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): CPSR M field values</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__CMSIS__CPSR__M.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="#define-members">Macros</a> </div>
129 <div class="headertitle"><div class="title">CPSR M field values<div class="ingroups"><a class="el" href="group__CMSIS__core__register.html">Core Register Access</a> » <a class="el" href="group__CMSIS__CPSR.html">Current Program Status Register (CPSR)</a></div></div></div>
131 <div class="contents">
133 <p>Valid values for CPSR M field.
134 <a href="#details">More...</a></p>
135 <table class="memberdecls">
136 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
137 Macros</h2></td></tr>
138 <tr class="memitem:gad716a0ee4dc815f0f01e1339d6511a4e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR__M.html#gad716a0ee4dc815f0f01e1339d6511a4e">CPSR_M_USR</a>   0x10U</td></tr>
139 <tr class="memdesc:gad716a0ee4dc815f0f01e1339d6511a4e"><td class="mdescLeft"> </td><td class="mdescRight">CPSR: M User mode (PL0) <br /></td></tr>
140 <tr class="separator:gad716a0ee4dc815f0f01e1339d6511a4e"><td class="memSeparator" colspan="2"> </td></tr>
141 <tr class="memitem:ga868ef12e003f541f90a613ca7f6ada74"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR__M.html#ga868ef12e003f541f90a613ca7f6ada74">CPSR_M_FIQ</a>   0x11U</td></tr>
142 <tr class="memdesc:ga868ef12e003f541f90a613ca7f6ada74"><td class="mdescLeft"> </td><td class="mdescRight">CPSR: M Fast Interrupt mode (PL1) <br /></td></tr>
143 <tr class="separator:ga868ef12e003f541f90a613ca7f6ada74"><td class="memSeparator" colspan="2"> </td></tr>
144 <tr class="memitem:gada3f31a773f7fc7bf6567d598cf3a1db"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR__M.html#gada3f31a773f7fc7bf6567d598cf3a1db">CPSR_M_IRQ</a>   0x12U</td></tr>
145 <tr class="memdesc:gada3f31a773f7fc7bf6567d598cf3a1db"><td class="mdescLeft"> </td><td class="mdescRight">CPSR: M Interrupt mode (PL1) <br /></td></tr>
146 <tr class="separator:gada3f31a773f7fc7bf6567d598cf3a1db"><td class="memSeparator" colspan="2"> </td></tr>
147 <tr class="memitem:ga5afcb85bd2968acc2b09cb9d99c531ad"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR__M.html#ga5afcb85bd2968acc2b09cb9d99c531ad">CPSR_M_SVC</a>   0x13U</td></tr>
148 <tr class="memdesc:ga5afcb85bd2968acc2b09cb9d99c531ad"><td class="mdescLeft"> </td><td class="mdescRight">CPSR: M Supervisor mode (PL1) <br /></td></tr>
149 <tr class="separator:ga5afcb85bd2968acc2b09cb9d99c531ad"><td class="memSeparator" colspan="2"> </td></tr>
150 <tr class="memitem:ga69d734db93f67899b4bffcf62f80f098"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR__M.html#ga69d734db93f67899b4bffcf62f80f098">CPSR_M_MON</a>   0x16U</td></tr>
151 <tr class="memdesc:ga69d734db93f67899b4bffcf62f80f098"><td class="mdescLeft"> </td><td class="mdescRight">CPSR: M Monitor mode (PL1) <br /></td></tr>
152 <tr class="separator:ga69d734db93f67899b4bffcf62f80f098"><td class="memSeparator" colspan="2"> </td></tr>
153 <tr class="memitem:gac8c0a99a21ef256f5d3115595a845bfa"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR__M.html#gac8c0a99a21ef256f5d3115595a845bfa">CPSR_M_ABT</a>   0x17U</td></tr>
154 <tr class="memdesc:gac8c0a99a21ef256f5d3115595a845bfa"><td class="mdescLeft"> </td><td class="mdescRight">CPSR: M Abort mode (PL1) <br /></td></tr>
155 <tr class="separator:gac8c0a99a21ef256f5d3115595a845bfa"><td class="memSeparator" colspan="2"> </td></tr>
156 <tr class="memitem:ga002c78f542ca5c5fdd02d2aeee9f6988"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR__M.html#ga002c78f542ca5c5fdd02d2aeee9f6988">CPSR_M_HYP</a>   0x1AU</td></tr>
157 <tr class="memdesc:ga002c78f542ca5c5fdd02d2aeee9f6988"><td class="mdescLeft"> </td><td class="mdescRight">CPSR: M Hypervisor mode (PL2) <br /></td></tr>
158 <tr class="separator:ga002c78f542ca5c5fdd02d2aeee9f6988"><td class="memSeparator" colspan="2"> </td></tr>
159 <tr class="memitem:ga07d4f42d6971c2f0cc25872008ddf5ef"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR__M.html#ga07d4f42d6971c2f0cc25872008ddf5ef">CPSR_M_UND</a>   0x1BU</td></tr>
160 <tr class="memdesc:ga07d4f42d6971c2f0cc25872008ddf5ef"><td class="mdescLeft"> </td><td class="mdescRight">CPSR: M Undefined mode (PL1) <br /></td></tr>
161 <tr class="separator:ga07d4f42d6971c2f0cc25872008ddf5ef"><td class="memSeparator" colspan="2"> </td></tr>
162 <tr class="memitem:gaa0a3996ce096cd205bce34f90b10912c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR__M.html#gaa0a3996ce096cd205bce34f90b10912c">CPSR_M_SYS</a>   0x1FU</td></tr>
163 <tr class="memdesc:gaa0a3996ce096cd205bce34f90b10912c"><td class="mdescLeft"> </td><td class="mdescRight">CPSR: M System mode (PL1) <br /></td></tr>
164 <tr class="separator:gaa0a3996ce096cd205bce34f90b10912c"><td class="memSeparator" colspan="2"> </td></tr>
166 <a name="details" id="details"></a><h2 class="groupheader">Description</h2>
167 <p>Valid values for CPSR M field. </p>
168 <p>The M field can contain one of these values which indicates the current processor mode. </p>
169 <h2 class="groupheader">Macro Definition Documentation</h2>
170 <a id="gac8c0a99a21ef256f5d3115595a845bfa" name="gac8c0a99a21ef256f5d3115595a845bfa"></a>
171 <h2 class="memtitle"><span class="permalink"><a href="#gac8c0a99a21ef256f5d3115595a845bfa">◆ </a></span>CPSR_M_ABT</h2>
173 <div class="memitem">
174 <div class="memproto">
175 <table class="memname">
177 <td class="memname">#define CPSR_M_ABT   0x17U</td>
180 </div><div class="memdoc">
182 <p>CPSR: M Abort mode (PL1) </p>
183 <p>Abort mode is the default mode to which a Data Abort exception or Prefetch Abort exception is taken. </p>
187 <a id="ga868ef12e003f541f90a613ca7f6ada74" name="ga868ef12e003f541f90a613ca7f6ada74"></a>
188 <h2 class="memtitle"><span class="permalink"><a href="#ga868ef12e003f541f90a613ca7f6ada74">◆ </a></span>CPSR_M_FIQ</h2>
190 <div class="memitem">
191 <div class="memproto">
192 <table class="memname">
194 <td class="memname">#define CPSR_M_FIQ   0x11U</td>
197 </div><div class="memdoc">
199 <p>CPSR: M Fast Interrupt mode (PL1) </p>
200 <p>FIQ mode is the default mode to which an FIQ interrupt is taken. </p>
204 <a id="ga002c78f542ca5c5fdd02d2aeee9f6988" name="ga002c78f542ca5c5fdd02d2aeee9f6988"></a>
205 <h2 class="memtitle"><span class="permalink"><a href="#ga002c78f542ca5c5fdd02d2aeee9f6988">◆ </a></span>CPSR_M_HYP</h2>
207 <div class="memitem">
208 <div class="memproto">
209 <table class="memname">
211 <td class="memname">#define CPSR_M_HYP   0x1AU</td>
214 </div><div class="memdoc">
216 <p>CPSR: M Hypervisor mode (PL2) </p>
217 <p>Hyp mode is the Non-secure PL2 mode, implemented as part of the Virtualization Extensions. Hyp mode is entered on taking an exception from Non-secure state that must be taken to PL2. </p>
221 <a id="gada3f31a773f7fc7bf6567d598cf3a1db" name="gada3f31a773f7fc7bf6567d598cf3a1db"></a>
222 <h2 class="memtitle"><span class="permalink"><a href="#gada3f31a773f7fc7bf6567d598cf3a1db">◆ </a></span>CPSR_M_IRQ</h2>
224 <div class="memitem">
225 <div class="memproto">
226 <table class="memname">
228 <td class="memname">#define CPSR_M_IRQ   0x12U</td>
231 </div><div class="memdoc">
233 <p>CPSR: M Interrupt mode (PL1) </p>
234 <p>IRQ mode is the default mode to which an IRQ interrupt is taken. </p>
238 <a id="ga69d734db93f67899b4bffcf62f80f098" name="ga69d734db93f67899b4bffcf62f80f098"></a>
239 <h2 class="memtitle"><span class="permalink"><a href="#ga69d734db93f67899b4bffcf62f80f098">◆ </a></span>CPSR_M_MON</h2>
241 <div class="memitem">
242 <div class="memproto">
243 <table class="memname">
245 <td class="memname">#define CPSR_M_MON   0x16U</td>
248 </div><div class="memdoc">
250 <p>CPSR: M Monitor mode (PL1) </p>
251 <p>Monitor mode is the mode to which a Secure Monitor Call exception is taken. </p>
255 <a id="ga5afcb85bd2968acc2b09cb9d99c531ad" name="ga5afcb85bd2968acc2b09cb9d99c531ad"></a>
256 <h2 class="memtitle"><span class="permalink"><a href="#ga5afcb85bd2968acc2b09cb9d99c531ad">◆ </a></span>CPSR_M_SVC</h2>
258 <div class="memitem">
259 <div class="memproto">
260 <table class="memname">
262 <td class="memname">#define CPSR_M_SVC   0x13U</td>
265 </div><div class="memdoc">
267 <p>CPSR: M Supervisor mode (PL1) </p>
268 <p>Supervisor mode is the default mode to which a Supervisor Call exception is taken. </p>
272 <a id="gaa0a3996ce096cd205bce34f90b10912c" name="gaa0a3996ce096cd205bce34f90b10912c"></a>
273 <h2 class="memtitle"><span class="permalink"><a href="#gaa0a3996ce096cd205bce34f90b10912c">◆ </a></span>CPSR_M_SYS</h2>
275 <div class="memitem">
276 <div class="memproto">
277 <table class="memname">
279 <td class="memname">#define CPSR_M_SYS   0x1FU</td>
282 </div><div class="memdoc">
284 <p>CPSR: M System mode (PL1) </p>
285 <p>Software executing in System mode executes at PL1. System mode has the same registers available as User mode, and is not entered by any exception. </p>
289 <a id="ga07d4f42d6971c2f0cc25872008ddf5ef" name="ga07d4f42d6971c2f0cc25872008ddf5ef"></a>
290 <h2 class="memtitle"><span class="permalink"><a href="#ga07d4f42d6971c2f0cc25872008ddf5ef">◆ </a></span>CPSR_M_UND</h2>
292 <div class="memitem">
293 <div class="memproto">
294 <table class="memname">
296 <td class="memname">#define CPSR_M_UND   0x1BU</td>
299 </div><div class="memdoc">
301 <p>CPSR: M Undefined mode (PL1) </p>
302 <p>Undefined mode is the default mode to which an instruction-related exception, including any attempt to execute an UNDEFINED instruction, is taken. </p>
306 <a id="gad716a0ee4dc815f0f01e1339d6511a4e" name="gad716a0ee4dc815f0f01e1339d6511a4e"></a>
307 <h2 class="memtitle"><span class="permalink"><a href="#gad716a0ee4dc815f0f01e1339d6511a4e">◆ </a></span>CPSR_M_USR</h2>
309 <div class="memitem">
310 <div class="memproto">
311 <table class="memname">
313 <td class="memname">#define CPSR_M_USR   0x10U</td>
316 </div><div class="memdoc">
318 <p>CPSR: M User mode (PL0) </p>
319 <p>An operating system runs applications in User mode to restrict the use of system resources. Software executing in User mode executes at PL0. Execution in User mode is sometimes described as unprivileged execution. </p>
323 </div><!-- contents -->
324 </div><!-- doc-content -->
325 <!-- start footer part -->
326 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
329 <script type="text/javascript">
331 writeFooter.call(this);