RTEMS
5.1
|
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 |
This encapsulates functionality related to the Classic API Interrupt Manager.
#define rtems_interrupt_cause | ( | _interrupt_to_cause | ) |
This routine generates an interrupt.
#define rtems_interrupt_clear | ( | _interrupt_to_clear | ) |
This routine clears the specified interrupt.
#define rtems_interrupt_disable | ( | _isr_cookie | ) | _ISR_Local_disable(_isr_cookie) |
Disable RTEMS Interrupt.
This macro is only available on uni-processor configurations. The macro rtems_interrupt_local_disable() is available on all configurations.
#define rtems_interrupt_enable | ( | _isr_cookie | ) | _ISR_Local_enable(_isr_cookie) |
Enable RTEMS Interrupt.
This macro is only available on uni-processor configurations. The macro rtems_interrupt_local_enable() is available on all configurations.
#define rtems_interrupt_flash | ( | _isr_cookie | ) | _ISR_Local_flash(_isr_cookie) |
Flash RTEMS Interrupt.
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.
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.
#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.
[in] | _isr_cookie | The previous interrupt level is returned. The type of this variable must be rtems_interrupt_level. |
#define rtems_interrupt_local_enable | ( | _isr_cookie | ) | _ISR_Local_enable( _isr_cookie ) |
This macro restores the previous interrupt level on the current processor.
[in] | _isr_cookie | The previous interrupt level returned by rtems_interrupt_local_disable(). |