blob: ff2158fe431ab72180bfbe6014f987f538c08c06 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<div class="subsection-level-extent" id="MicroBlaze-Function-Attributes"> <div class="nav-panel"> <p> Next: <a href="microsoft-windows-function-attributes" accesskey="n" rel="next">Microsoft Windows Function Attributes</a>, Previous: <a href="mcore-function-attributes" accesskey="p" rel="prev">MCORE Function Attributes</a>, Up: <a href="function-attributes" accesskey="u" rel="up">Declaring Attributes of Functions</a> [<a href="index#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="indices" title="Index" rel="index">Index</a>]</p> </div> <h1 class="subsection" id="MicroBlaze-Function-Attributes-1"><span>6.33.17 MicroBlaze Function Attributes<a class="copiable-link" href="#MicroBlaze-Function-Attributes-1"> ¶</a></span></h1> <p>These function attributes are supported on MicroBlaze targets: </p> <dl class="table"> <dt>
<span><code class="code">save_volatiles</code><a class="copiable-link" href="#index-save_005fvolatiles-function-attribute_002c-MicroBlaze"> ¶</a></span>
</dt> <dd>
<p>Use this attribute to indicate that the function is an interrupt handler. All volatile registers (in addition to non-volatile registers) are saved in the function prologue. If the function is a leaf function, only volatiles used by the function are saved. A normal function return is generated instead of a return from interrupt. </p> </dd> <dt>
<span><code class="code">break_handler</code><a class="copiable-link" href="#index-break_005fhandler-function-attribute_002c-MicroBlaze"> ¶</a></span>
</dt> <dd>
<p>Use this attribute to indicate that the specified function is a break handler. The compiler generates function entry and exit sequences suitable for use in an break handler when this attribute is present. The return from <code class="code">break_handler</code> is done through the <code class="code">rtbd</code> instead of <code class="code">rtsd</code>. </p> <div class="example smallexample"> <pre class="example-preformatted" data-language="cpp">void f () __attribute__ ((break_handler));</pre>
</div> </dd> <dt>
<span><code class="code">interrupt_handler</code><a class="copiable-link" href="#index-interrupt_005fhandler-function-attribute_002c-MicroBlaze"> ¶</a></span>
</dt> <dt><code class="code">fast_interrupt</code></dt> <dd><p>These attributes indicate that the specified function is an interrupt handler. Use the <code class="code">fast_interrupt</code> attribute to indicate handlers used in low-latency interrupt mode, and <code class="code">interrupt_handler</code> for interrupts that do not use low-latency handlers. In both cases, GCC emits appropriate prologue code and generates a return from the handler using <code class="code">rtid</code> instead of <code class="code">rtsd</code>. </p></dd> </dl> </div><div class="_attribution">
<p class="_attribution-p">
© Free Software Foundation<br>Licensed under the GNU Free Documentation License, Version 1.3.<br>
<a href="https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/MicroBlaze-Function-Attributes.html" class="_attribution-link">https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/MicroBlaze-Function-Attributes.html</a>
</p>
</div>
|