![]() |
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.