RTEMS  5.1
Modules | Files | Macros | Typedefs
Interrupts

Modules

 Interrupt Locks
 Low-level lock to protect critical sections accessed by threads and interrupt service routines.
 
 Interrupt Manager Extension
 

Files

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

Macros

#define rtems_interrupt_disable(_isr_cookie)   _ISR_Local_disable(_isr_cookie)
 Disable RTEMS Interrupt. More...
 
#define rtems_interrupt_enable(_isr_cookie)   _ISR_Local_enable(_isr_cookie)
 Enable RTEMS Interrupt. More...
 
#define rtems_interrupt_flash(_isr_cookie)   _ISR_Local_flash(_isr_cookie)
 Flash RTEMS Interrupt. More...
 
#define rtems_interrupt_local_disable(_isr_cookie)   _ISR_Local_disable( _isr_cookie )
 This macro disables the interrupts on the current processor. More...
 
#define rtems_interrupt_local_enable(_isr_cookie)   _ISR_Local_enable( _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

This encapsulates functionality related to the Classic API 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_Local_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_Local_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_Local_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_Local_disable( _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_Local_enable( _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().