|
#define | rtems_interrupt_disable(_isr_cookie) _ISR_Local_disable( _isr_cookie ) |
| Disables the maskable interrupts on the current processor. More...
|
|
#define | rtems_interrupt_enable(_isr_cookie) _ISR_Local_enable( _isr_cookie ) |
| Restores the previous interrupt level on the current processor. More...
|
|
#define | rtems_interrupt_flash(_isr_cookie) _ISR_Local_flash( _isr_cookie ) |
| Flashes interrupts on the current processor. More...
|
|
#define | rtems_interrupt_local_disable(_isr_cookie) _ISR_Local_disable( _isr_cookie ) |
| Disables the maskable interrupts on the current processor. More...
|
|
#define | rtems_interrupt_local_enable(_isr_cookie) _ISR_Local_enable( _isr_cookie ) |
| Restores the previous interrupt level on the current processor. More...
|
|
#define | rtems_interrupt_is_in_progress() _ISR_Is_in_progress() |
| Checks if an ISR is in progress on the current processor. More...
|
|
#define | rtems_interrupt_lock_initialize(_lock, _name) _ISR_lock_Initialize( _lock, _name ) |
| Initializes the ISR lock. More...
|
|
#define | rtems_interrupt_lock_destroy(_lock) _ISR_lock_Destroy( _lock ) |
| Destroys the ISR lock. More...
|
|
#define | rtems_interrupt_lock_acquire(_lock, _lock_context) _ISR_lock_ISR_disable_and_acquire( _lock, _lock_context ) |
| Acquires the ISR lock. More...
|
|
#define | rtems_interrupt_lock_release(_lock, _lock_context) _ISR_lock_Release_and_ISR_enable( _lock, _lock_context ) |
| Releases the ISR lock. More...
|
|
#define | rtems_interrupt_lock_acquire_isr(_lock, _lock_context) do { (void) _lock_context; } while ( 0 ) |
| Acquires the ISR lock from within an ISR. More...
|
|
#define | rtems_interrupt_lock_release_isr(_lock, _lock_context) do { (void) _lock_context; } while ( 0 ) |
| Releases the ISR lock from within an ISR. More...
|
|
#define | rtems_interrupt_lock_interrupt_disable(_lock_context) _ISR_lock_ISR_disable( _lock_context ) |
| Disables maskable interrupts on the current processor. More...
|
|
#define | RTEMS_INTERRUPT_LOCK_DECLARE(_specifier, _designator) ISR_LOCK_DECLARE( _specifier, _designator ) |
| Declares an ISR lock object. More...
|
|
#define | RTEMS_INTERRUPT_LOCK_DEFINE(_specifier, _designator, _name) ISR_LOCK_DEFINE( _specifier, _designator, _name ) |
| Defines an ISR lock object. More...
|
|
#define | RTEMS_INTERRUPT_LOCK_INITIALIZER(_name) ISR_LOCK_INITIALIZER( _name ) |
| Statically initializes an ISR lock object. More...
|
|
#define | RTEMS_INTERRUPT_LOCK_MEMBER(_designator) ISR_LOCK_MEMBER( _designator ) |
| Defines an ISR lock member. More...
|
|
#define | RTEMS_INTERRUPT_LOCK_REFERENCE(_designator, _target) ISR_LOCK_REFERENCE( _designator, _target ) |
| Defines an ISR lock object reference. More...
|
|
#define | RTEMS_INTERRUPT_SHARED ( (rtems_option) 0x00000000 ) |
| This interrupt handler install option allows that the interrupt handler may share the interrupt vector with other handler.
|
|
#define | RTEMS_INTERRUPT_UNIQUE ( (rtems_option) 0x00000001 ) |
| This interrupt handler install option ensures that the interrupt handler is unique. More...
|
|
#define | RTEMS_INTERRUPT_REPLACE ( (rtems_option) 0x00000002 ) |
| This interrupt handler install option requests that the interrupt handler replaces the first handler with the same argument.
|
|
#define | RTEMS_INTERRUPT_IS_SHARED(_options) ( ( _options ) & RTEMS_INTERRUPT_SHARED ) |
| Checks if the interrupt handler shared option is set. More...
|
|
#define | RTEMS_INTERRUPT_IS_UNIQUE(_options) ( ( _options ) & RTEMS_INTERRUPT_UNIQUE ) |
| Checks if the interrupt handler unique option is set. More...
|
|
#define | RTEMS_INTERRUPT_IS_REPLACE(_options) ( ( _options ) & RTEMS_INTERRUPT_REPLACE ) |
| Checks if the interrupt handler replace option is set. More...
|
|
#define | RTEMS_INTERRUPT_ENTRY_INITIALIZER(_routine, _arg, _info) { _routine, _arg, NULL, _info } |
| Statically initializes an interrupt entry object. More...
|
|
#define | RTEMS_INTERRUPT_SERVER_DEFAULT 0 |
| The constant represents the index of the default interrupt server.
|
|
|
rtems_status_code | rtems_interrupt_catch (rtems_isr_entry new_isr_handler, rtems_vector_number vector, rtems_isr_entry *old_isr_handler) |
| Establishes an interrupt service routine. More...
|
|
rtems_status_code | rtems_interrupt_entry_install (rtems_vector_number vector, rtems_option options, rtems_interrupt_entry *entry) |
| Installs the interrupt entry at the interrupt vector. More...
|
|
rtems_status_code | rtems_interrupt_entry_remove (rtems_vector_number vector, rtems_interrupt_entry *entry) |
| Removes the interrupt entry from the interrupt vector. More...
|
|
rtems_status_code | rtems_interrupt_handler_install (rtems_vector_number vector, const char *info, rtems_option options, rtems_interrupt_handler routine, void *arg) |
| Installs the interrupt handler routine and argument at the interrupt vector. More...
|
|
rtems_status_code | rtems_interrupt_handler_remove (rtems_vector_number vector, rtems_interrupt_handler routine, void *arg) |
| Removes the interrupt handler routine and argument from the interrupt vector. More...
|
|
rtems_status_code | rtems_interrupt_vector_is_enabled (rtems_vector_number vector, bool *enabled) |
| Checks if the interrupt vector is enabled. More...
|
|
rtems_status_code | rtems_interrupt_vector_enable (rtems_vector_number vector) |
| Enables the interrupt vector. More...
|
|
rtems_status_code | rtems_interrupt_vector_disable (rtems_vector_number vector) |
| Disables the interrupt vector. More...
|
|
rtems_status_code | rtems_interrupt_is_pending (rtems_vector_number vector, bool *pending) |
| Checks if the interrupt is pending. More...
|
|
rtems_status_code | rtems_interrupt_raise (rtems_vector_number vector) |
| Raises the interrupt vector. More...
|
|
rtems_status_code | rtems_interrupt_raise_on (rtems_vector_number vector, uint32_t cpu_index) |
| Raises the interrupt vector on the processor. More...
|
|
rtems_status_code | rtems_interrupt_clear (rtems_vector_number vector) |
| Clears the interrupt vector. More...
|
|
rtems_status_code | rtems_interrupt_get_affinity (rtems_vector_number vector, size_t affinity_size, cpu_set_t *affinity) |
| Gets the processor affinity set of the interrupt vector. More...
|
|
rtems_status_code | rtems_interrupt_set_affinity (rtems_vector_number vector, size_t affinity_size, const cpu_set_t *affinity) |
| Sets the processor affinity set of the interrupt vector. More...
|
|
rtems_status_code | rtems_interrupt_get_attributes (rtems_vector_number vector, rtems_interrupt_attributes *attributes) |
| Gets the attributes of the interrupt vector. More...
|
|
rtems_status_code | rtems_interrupt_handler_iterate (rtems_vector_number vector, rtems_interrupt_per_handler_routine routine, void *arg) |
| Iterates over all interrupt handler installed at the interrupt vector. More...
|
|
rtems_status_code | rtems_interrupt_server_initialize (rtems_task_priority priority, size_t stack_size, rtems_mode modes, rtems_attribute attributes, uint32_t *server_count) |
| Initializes the interrupt server tasks. More...
|
|
rtems_status_code | rtems_interrupt_server_create (rtems_interrupt_server_control *control, const rtems_interrupt_server_config *config, uint32_t *server_index) |
| Creates an interrupt server. More...
|
|
rtems_status_code | rtems_interrupt_server_handler_install (uint32_t server_index, rtems_vector_number vector, const char *info, rtems_option options, rtems_interrupt_handler routine, void *arg) |
| Installs the interrupt handler routine and argument at the interrupt vector on the interrupt server. More...
|
|
rtems_status_code | rtems_interrupt_server_handler_remove (uint32_t server_index, rtems_vector_number vector, rtems_interrupt_handler routine, void *arg) |
| Removes the interrupt handler routine and argument from the interrupt vector and the interrupt server. More...
|
|
rtems_status_code | rtems_interrupt_server_set_affinity (uint32_t server_index, size_t affinity_size, const cpu_set_t *affinity, rtems_task_priority priority) |
| Sets the processor affinity of the interrupt server. More...
|
|
rtems_status_code | rtems_interrupt_server_delete (uint32_t server_index) |
| Deletes the interrupt server. More...
|
|
rtems_status_code | rtems_interrupt_server_suspend (uint32_t server_index) |
| Suspends the interrupt server. More...
|
|
rtems_status_code | rtems_interrupt_server_resume (uint32_t server_index) |
| Resumes the interrupt server. More...
|
|
rtems_status_code | rtems_interrupt_server_move (uint32_t source_server_index, rtems_vector_number vector, uint32_t destination_server_index) |
| Moves the interrupt handlers installed at the interrupt vector and the source interrupt server to the destination interrupt server. More...
|
|
rtems_status_code | rtems_interrupt_server_handler_iterate (uint32_t server_index, rtems_vector_number vector, rtems_interrupt_per_handler_routine routine, void *arg) |
| Iterates over all interrupt handler installed at the interrupt vector and interrupt server. More...
|
|
rtems_status_code | rtems_interrupt_server_entry_initialize (uint32_t server_index, rtems_interrupt_server_entry *entry) |
| Initializes the interrupt server entry. More...
|
|
void | rtems_interrupt_server_action_prepend (rtems_interrupt_server_entry *entry, rtems_interrupt_server_action *action, rtems_interrupt_handler routine, void *arg) |
| Prepends the interrupt server action to the list of actions of the interrupt server entry. More...
|
|
void | rtems_interrupt_server_entry_destroy (rtems_interrupt_server_entry *entry) |
| Destroys the interrupt server entry. More...
|
|
void | rtems_interrupt_server_entry_submit (rtems_interrupt_server_entry *entry) |
| Submits the interrupt server entry to be serviced by the interrupt server. More...
|
|
rtems_status_code | rtems_interrupt_server_entry_move (rtems_interrupt_server_entry *entry, uint32_t server_index) |
| Moves the interrupt server entry to the interrupt server. More...
|
|
rtems_status_code | rtems_interrupt_server_request_initialize (uint32_t server_index, rtems_interrupt_server_request *request, rtems_interrupt_handler routine, void *arg) |
| Initializes the interrupt server request. More...
|
|
This header file defines the Interrupt Manager API.