Any real-time executive must provide a mechanism for quick response to externally generated interrupts to satisfy the critical time constraints of the application. The Interrupt Manager provides this mechanism for RTEMS. This manager permits quick interrupt response times by providing the critical ability to alter task execution which allows a task to be preempted upon exit from an ISR.
More...
|
file | intr.h |
| This header file defines the Interrupt Manager API.
|
|
|
#define | rtems_interrupt_cause(_interrupt_to_cause) % |
| % More...
|
|
#define | rtems_interrupt_clear(_interrupt_to_clear) % |
| % More...
|
|
#define | rtems_interrupt_is_in_progress() _ISR_Is_in_progress() |
| %
|
|
#define | rtems_interrupt_local_disable(_isr_cookie) _ISR_Local_disable( _isr_cookie ) |
| % More...
|
|
#define | rtems_interrupt_local_enable(_isr_cookie) _ISR_Local_enable( _isr_cookie ) |
| % More...
|
|
#define | rtems_interrupt_lock_acquire(_lock, _lock_context) _ISR_lock_ISR_disable_and_acquire( _lock, _lock_context ) |
| % More...
|
|
#define | rtems_interrupt_lock_acquire_isr(_lock, _lock_context) |
| % More...
|
|
#define | RTEMS_INTERRUPT_LOCK_DECLARE(_qualifier, _designator) ISR_LOCK_DECLARE( _qualifier, _designator ) |
| % More...
|
|
#define | RTEMS_INTERRUPT_LOCK_DEFINE(_qualifier, _designator, _name) ISR_LOCK_DEFINE( _qualifier, _designator, _name ) |
| % More...
|
|
#define | rtems_interrupt_lock_destroy(_lock) _ISR_lock_Destroy( _lock ) |
| % More...
|
|
#define | rtems_interrupt_lock_initialize(_lock, _name) _ISR_lock_Initialize( _lock, _name ) |
| % More...
|
|
#define | RTEMS_INTERRUPT_LOCK_INITIALIZER(_name) ISR_LOCK_INITIALIZER( _name ) |
| % More...
|
|
#define | rtems_interrupt_lock_interrupt_disable(_lock_context) _ISR_lock_ISR_disable( _lock_context ) |
| % More...
|
|
#define | RTEMS_INTERRUPT_LOCK_MEMBER(_designator) ISR_LOCK_MEMBER( _designator ) |
| % More...
|
|
#define | RTEMS_INTERRUPT_LOCK_REFERENCE(_designator, _target) ISR_LOCK_REFERENCE( _designator, _target ) |
| % More...
|
|
#define | rtems_interrupt_lock_release(_lock, _lock_context) _ISR_lock_Release_and_ISR_enable( _lock, _lock_context ) |
| % More...
|
|
#define | rtems_interrupt_lock_release_isr(_lock, _lock_context) |
| % More...
|
|
Any real-time executive must provide a mechanism for quick response to externally generated interrupts to satisfy the critical time constraints of the application. The Interrupt Manager provides this mechanism for RTEMS. This manager permits quick interrupt response times by providing the critical ability to alter task execution which allows a task to be preempted upon exit from an ISR.
◆ rtems_interrupt_cause
#define rtems_interrupt_cause |
( |
|
_interrupt_to_cause | ) |
% |
%
- Parameters
-
Definition at line 134 of file intr.h.
◆ rtems_interrupt_clear
#define rtems_interrupt_clear |
( |
|
_interrupt_to_clear | ) |
% |
%
- Parameters
-
Definition at line 145 of file intr.h.
◆ rtems_interrupt_local_disable
%
- Parameters
-
Definition at line 222 of file intr.h.
◆ rtems_interrupt_local_enable
%
- Parameters
-
Definition at line 234 of file intr.h.
◆ rtems_interrupt_lock_acquire
%
- Parameters
-
Definition at line 257 of file intr.h.
◆ rtems_interrupt_lock_acquire_isr
#define rtems_interrupt_lock_acquire_isr |
( |
|
_lock, |
|
|
|
_lock_context |
|
) |
| |
Value: &( _lock )->Lock, \
&( _lock_context )->Lock_context \
)
void _SMP_lock_Acquire(SMP_lock_Control *lock, SMP_lock_Context *context)
Acquires an SMP lock.
%
- Parameters
-
Definition at line 272 of file intr.h.
◆ RTEMS_INTERRUPT_LOCK_DECLARE
#define RTEMS_INTERRUPT_LOCK_DECLARE |
( |
|
_qualifier, |
|
|
|
_designator |
|
) |
| ISR_LOCK_DECLARE( _qualifier, _designator ) |
%
- Parameters
-
Definition at line 302 of file intr.h.
◆ RTEMS_INTERRUPT_LOCK_DEFINE
#define RTEMS_INTERRUPT_LOCK_DEFINE |
( |
|
_qualifier, |
|
|
|
_designator, |
|
|
|
_name |
|
) |
| ISR_LOCK_DEFINE( _qualifier, _designator, _name ) |
%
- Parameters
-
_qualifier | % |
_designator | % |
_name | % |
Definition at line 318 of file intr.h.
◆ rtems_interrupt_lock_destroy
%
- Parameters
-
Definition at line 330 of file intr.h.
◆ rtems_interrupt_lock_initialize
%
- Parameters
-
Definition at line 343 of file intr.h.
◆ RTEMS_INTERRUPT_LOCK_INITIALIZER
%
- Parameters
-
Definition at line 355 of file intr.h.
◆ rtems_interrupt_lock_interrupt_disable
%
- Parameters
-
Definition at line 366 of file intr.h.
◆ RTEMS_INTERRUPT_LOCK_MEMBER
#define RTEMS_INTERRUPT_LOCK_MEMBER |
( |
|
_designator | ) |
ISR_LOCK_MEMBER( _designator ) |
%
- Parameters
-
Definition at line 378 of file intr.h.
◆ RTEMS_INTERRUPT_LOCK_REFERENCE
#define RTEMS_INTERRUPT_LOCK_REFERENCE |
( |
|
_designator, |
|
|
|
_target |
|
) |
| ISR_LOCK_REFERENCE( _designator, _target ) |
%
- Parameters
-
Definition at line 392 of file intr.h.
◆ rtems_interrupt_lock_release
%
- Parameters
-
Definition at line 406 of file intr.h.
◆ rtems_interrupt_lock_release_isr
#define rtems_interrupt_lock_release_isr |
( |
|
_lock, |
|
|
|
_lock_context |
|
) |
| |
Value: &( _lock )->Lock, \
&( _lock_context )->Lock_context \
)
#define _SMP_lock_Release(lock, context)
Releases an SMP lock.
%
- Parameters
-
Definition at line 421 of file intr.h.
◆ rtems_interrupt_catch()
%
- Parameters
-
new_isr_handler | % |
vector | % |
old_isr_handler | % |