RTEMS CPU Kit with SuperCore  4.11.2
Modules | Files | Macros | Typedefs

Header file for Interrupt Manager. More...

Collaboration diagram for Interrupts:

Modules

 Interrupt Manager Extension
 In addition to the Classic API interrupt handler with a handle are supported.
 
 Interrupt Locks
 Low-level lock to protect critical sections accessed by threads and interrupt service routines.
 

Files

file  intrbody.c
 RTEMS Interrupt Support.
 
file  intrcatch.c
 RTEMS Interrupt Catch.
 

Macros

#define rtems_interrupt_disable(_isr_cookie)   _ISR_Disable(_isr_cookie)
 Disable RTEMS Interrupt. More...
 
#define rtems_interrupt_enable(_isr_cookie)   _ISR_Enable(_isr_cookie)
 Enable RTEMS Interrupt. More...
 
#define rtems_interrupt_flash(_isr_cookie)   _ISR_Flash(_isr_cookie)
 Flash RTEMS Interrupt. More...
 
#define rtems_interrupt_local_disable(_isr_cookie)   _ISR_Disable_without_giant( _isr_cookie )
 This macro disables the interrupts on the current processor. More...
 
#define rtems_interrupt_local_enable(_isr_cookie)   _ISR_Enable_without_giant( _isr_cookie )
 This macro restores the previous interrupt level on the current processor. More...
 
#define rtems_interrupt_is_in_progress()   _ISR_Is_in_progress()
 RTEMS Interrupt Is in Progress. More...
 
#define rtems_interrupt_cause(_interrupt_to_cause)
 This routine generates an interrupt. More...
 
#define rtems_interrupt_clear(_interrupt_to_clear)
 This routine clears the specified interrupt. More...
 

Typedefs

typedef ISR_Level rtems_interrupt_level
 Interrupt level type.
 
typedef ISR_Vector_number rtems_vector_number
 Control block type used to manage the vectors.
 
typedef ISR_Handler rtems_isr
 Return type for interrupt handler.
 
typedef ISR_Handler_entry rtems_isr_entry
 

Detailed Description

Header file for Interrupt Manager.

This encapsulates functionality related to the Classic API Interrupt Manager.

This include file contains all the constants and structures associated with the Interrupt Manager.

Macro Definition Documentation

◆ rtems_interrupt_cause

#define rtems_interrupt_cause (   _interrupt_to_cause)

This routine generates an interrupt.

Note
No implementation.

◆ rtems_interrupt_clear

#define rtems_interrupt_clear (   _interrupt_to_clear)

This routine clears the specified interrupt.

Note
No implementation.

◆ rtems_interrupt_disable

#define rtems_interrupt_disable (   _isr_cookie)    _ISR_Disable(_isr_cookie)

Disable RTEMS Interrupt.

Note
The interrupt level shall be of type rtems_interrupt_level.

This macro is only available on uni-processor configurations. The macro rtems_interrupt_local_disable() is available on all configurations.

◆ rtems_interrupt_enable

#define rtems_interrupt_enable (   _isr_cookie)    _ISR_Enable(_isr_cookie)

Enable RTEMS Interrupt.

Note
The interrupt level shall be of type rtems_interrupt_level.

This macro is only available on uni-processor configurations. The macro rtems_interrupt_local_enable() is available on all configurations.

◆ rtems_interrupt_flash

#define rtems_interrupt_flash (   _isr_cookie)    _ISR_Flash(_isr_cookie)

Flash RTEMS Interrupt.

Note
The interrupt level shall be of type rtems_interrupt_level.

This macro is only available on uni-processor configurations. The macro rtems_interrupt_local_disable() and rtems_interrupt_local_enable() is available on all configurations.

◆ rtems_interrupt_is_in_progress

bool rtems_interrupt_is_in_progress (   void)    _ISR_Is_in_progress()

RTEMS Interrupt Is in Progress.

A return value of true indicates that the caller is an interrupt service routine and not a thread. The directives available to an interrupt service routine are restricted.

◆ rtems_interrupt_local_disable

#define rtems_interrupt_local_disable (   _isr_cookie)    _ISR_Disable_without_giant( _isr_cookie )

This macro disables the interrupts on the current processor.

On SMP configurations this will not ensure system wide mutual exclusion. Use interrupt locks instead.

Parameters
[in]_isr_cookieThe previous interrupt level is returned. The type of this variable must be rtems_interrupt_level.
See also
rtems_interrupt_local_enable().

◆ rtems_interrupt_local_enable

#define rtems_interrupt_local_enable (   _isr_cookie)    _ISR_Enable_without_giant( _isr_cookie )

This macro restores the previous interrupt level on the current processor.

Parameters
[in]_isr_cookieThe previous interrupt level returned by rtems_interrupt_local_disable().