RTEMS
Functions | Variables
irq-generic.c File Reference

Generic BSP interrupt support implementation. More...

#include <bsp/irq-generic.h>
#include <bsp/fatal.h>
#include <stdlib.h>
#include <rtems/score/processormask.h>
#include <rtems/malloc.h>

Go to the source code of this file.

Functions

static void bsp_interrupt_handler_empty (void *arg)
 
static void bsp_interrupt_handler_do_nothing (void *arg)
 
static bool bsp_interrupt_is_handler_unique (rtems_vector_number index)
 
static void bsp_interrupt_set_handler_unique (rtems_vector_number index, bool unique)
 
static bool bsp_interrupt_is_initialized (void)
 
static void bsp_interrupt_set_initialized (void)
 
static bool bsp_interrupt_is_empty_handler_entry (const bsp_interrupt_handler_entry *e)
 
static void bsp_interrupt_clear_handler_entry (bsp_interrupt_handler_entry *e, rtems_vector_number vector)
 
static bool bsp_interrupt_allocate_handler_index (rtems_vector_number vector, rtems_vector_number *index)
 
static bsp_interrupt_handler_entrybsp_interrupt_allocate_handler_entry (void)
 
static void bsp_interrupt_free_handler_entry (bsp_interrupt_handler_entry *e)
 
void bsp_interrupt_initialize (void)
 Initialize BSP interrupt support. More...
 
static rtems_status_code bsp_interrupt_handler_install (rtems_vector_number vector, const char *info, rtems_option options, rtems_interrupt_handler handler, void *arg)
 Installs an interrupt handler. More...
 
static rtems_status_code bsp_interrupt_handler_remove (rtems_vector_number vector, rtems_interrupt_handler handler, void *arg)
 Removes an interrupt handler. More...
 
static rtems_status_code bsp_interrupt_handler_iterate (rtems_vector_number vector, rtems_interrupt_per_handler_routine routine, void *arg)
 Iterates over all installed interrupt handler of a vector. More...
 
rtems_status_code rtems_interrupt_handler_install (rtems_vector_number vector, const char *info, rtems_option options, rtems_interrupt_handler handler, void *arg)
 Installs the interrupt handler routine handler for the interrupt vector with number vector. More...
 
rtems_status_code rtems_interrupt_handler_remove (rtems_vector_number vector, rtems_interrupt_handler handler, void *arg)
 Removes the interrupt handler routine handler with argument arg for the interrupt vector with number vector. More...
 
rtems_status_code rtems_interrupt_handler_iterate (rtems_vector_number vector, rtems_interrupt_per_handler_routine routine, void *arg)
 Iterates over all installed interrupt handler of the interrupt vector with number vector. More...
 
bool bsp_interrupt_handler_is_empty (rtems_vector_number vector)
 Is interrupt handler empty. 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 an 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 an interrupt vector. More...
 

Variables

bsp_interrupt_handler_entry bsp_interrupt_handler_table [BSP_INTERRUPT_HANDLER_TABLE_SIZE]
 
static uint8_t bsp_interrupt_handler_unique_table [(BSP_INTERRUPT_HANDLER_TABLE_SIZE+7+1)/8]
 

Detailed Description

Generic BSP interrupt support implementation.

Definition in file irq-generic.c.