MicroBlaze Attributes (Using the GNU Compiler Collection (GCC))

#### 6.4.2.16 MicroBlaze Attributes ¶

These attributes are supported on MicroBlaze targets:

`save_volatiles` ¶

  This attribute applies to functions.

  It indicates 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.

`break_handler` ¶

  This attribute applies to functions.

  It indicates 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 `break_handler` is done through the `rtbd` instead of `rtsd`.

      void f () __attribute__ ((break_handler));

`interrupt_handler` ¶
`fast_interrupt`

  These attributes apply to functions.

  They indicate that the specified function is an interrupt handler. Use the `fast_interrupt` attribute to indicate handlers used in low-latency interrupt mode, and `interrupt_handler` 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 `rtid` instead of `rtsd`.