![]() |
RTEMS 6.1-rc1
|
This header file provides interfaces of the Interrupt Manager implementation. More...
#include <stdbool.h>#include <rtems/irq-extension.h>#include <rtems/score/assert.h>#include <bsp/irq.h>Go to the source code of this file.
Macros | |
| #define | BSP_INTERRUPT_DISPATCH_TABLE_SIZE BSP_INTERRUPT_VECTOR_COUNT |
| #define | bsp_interrupt_assert(e) _Assert(e) |
Variables | |
| rtems_interrupt_entry * | bsp_interrupt_dispatch_table [] |
| Each member of this table references the first installed entry at the corresponding interrupt vector or is NULL. | |
| uint8_t | bsp_interrupt_handler_unique_table [] |
| This table contains a bit map which indicates if an entry is unique or shared. More... | |
This header file provides interfaces of the Interrupt Manager implementation.
| rtems_status_code bsp_interrupt_check_and_lock | ( | rtems_vector_number | vector, |
| rtems_interrupt_handler | handler | ||
| ) |
Checks the vector and routine. When the checks were successful, the interrupt support lock will be obtained.
| vector | is the interrupt vector number to check. |
| routine | is the routine to check. |
| RTEMS_SUCCESSFUL | The requested operation was successful. |
| RTEMS_INCORRECT_STATE | The interrupt support was not initialized. |
| RTEMS_CALLED_FROM_ISR | The function was called from within interrupt context. |
| RTEMS_INVALID_ADDRESS | The routine parameter was NULL. |
| RTEMS_INVALID_ID | There was no interrupt vector associated with the number specified by vector. |
| rtems_interrupt_entry ** bsp_interrupt_get_dispatch_table_slot | ( | rtems_vector_number | index | ) |
Gets a reference to the interrupt handler table slot associated with the index.
| void bsp_interrupt_lock | ( | void | ) |
Acquires the interrupt support lock.
The interrupt support lock is a mutex. The mutex is only acquired if the system is the SYSTEM_STATE_UP state.
| void bsp_interrupt_unlock | ( | void | ) |
Releases the interrupt support lock.
The mutex is only released if the system is the SYSTEM_STATE_UP state.
|
extern |
This table contains a bit map which indicates if an entry is unique or shared.
If the bit associated with a vector is set, then the entry is unique, otherwise it may be shared. If the bit with index #BSP_INTERRUPT_DISPATCH_TABLE_SIZE is set, then the interrupt support is initialized, otherwise it is not initialized.