c/src/lib/libbsp/shared/src/irq-generic.c File Reference

Source file for generic BSP interrupt support. More...

#include <bsp/irq-generic.h>

Include dependency graph for irq-generic.c:

Go to the source code of this file.

Functions

static int bsp_interrupt_is_handler_unique (rtems_vector_number index)
static void bsp_interrupt_set_handler_unique (rtems_vector_number index, int unique)
static int bsp_interrupt_is_initialized ()
static void bsp_interrupt_set_initialized ()
void bsp_interrupt_handler_empty ()
static void bsp_interrupt_clear_handler_entry (rtems_vector_number index)
static int bsp_interrupt_allocate_handler_index (rtems_vector_number vector, rtems_vector_number *index)
static
bsp_interrupt_handler_entry
bsp_interrupt_allocate_handler_entry ()
static void bsp_interrupt_free_handler_entry (bsp_interrupt_handler_entry *e)
static rtems_status_code bsp_interrupt_lock ()
static rtems_status_code bsp_interrupt_unlock ()
rtems_status_code bsp_interrupt_initialize ()
 Initialize BSP interrupt support.
rtems_status_code bsp_interrupt_handler_install (rtems_vector_number vector, rtems_interrupt_handler handler, void *arg, rtems_boolean shared)
 Installs an interrupt handler.
rtems_status_code bsp_interrupt_handler_remove (rtems_vector_number vector, rtems_interrupt_handler handler)
 Removes an interrupt handler.
int BSP_get_current_rtems_irq_handler (rtems_irq_connect_data *cd)
int BSP_install_rtems_irq_handler (const rtems_irq_connect_data *cd)
int BSP_install_rtems_shared_irq_handler (const rtems_irq_connect_data *cd)
int BSP_remove_rtems_irq_handler (const rtems_irq_connect_data *cd)
int BSP_rtems_irq_mngt_set (rtems_irq_global_settings *config)
int BSP_rtems_irq_mngt_get (rtems_irq_global_settings **config)

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]
static rtems_id bsp_interrupt_mutex


Detailed Description

Source file for generic BSP interrupt support.

Definition in file irq-generic.c.


Function Documentation

int BSP_get_current_rtems_irq_handler ( rtems_irq_connect_data cd  ) 

Deprecated:
This function is obsolete.

Definition at line 444 of file irq-generic.c.

int BSP_install_rtems_irq_handler ( const rtems_irq_connect_data cd  ) 

Deprecated:
Use rtems_interrupt_handler_unique_install() instead.

Definition at line 456 of file irq-generic.c.

int BSP_install_rtems_shared_irq_handler ( const rtems_irq_connect_data cd  ) 

Deprecated:
Use rtems_interrupt_handler_install() instead.

Definition at line 472 of file irq-generic.c.

References __rtems_irq_connect_data__::handle, __rtems_irq_connect_data__::hdl, __rtems_irq_connect_data__::name, __rtems_irq_connect_data__::on, and rtems_interrupt_handler_install().

Referenced by mpc55xx_irq_install_handler().

static bsp_interrupt_handler_entry* bsp_interrupt_allocate_handler_entry (  )  [static]

Definition at line 95 of file irq-generic.c.

References bsp_interrupt_allocate_handler_index().

Referenced by bsp_interrupt_handler_install().

static int bsp_interrupt_allocate_handler_index ( rtems_vector_number  vector,
rtems_vector_number *  index 
) [inline, static]

Definition at line 75 of file irq-generic.c.

References BSP_INTERRUPT_HANDLER_TABLE_SIZE, and bsp_interrupt_is_empty_handler_entry().

Referenced by bsp_interrupt_allocate_handler_entry(), and bsp_interrupt_handler_install().

static void bsp_interrupt_clear_handler_entry ( rtems_vector_number  index  )  [inline, static]

Definition at line 67 of file irq-generic.c.

References struct_bsp_interrupt_handler_entry::arg, bsp_interrupt_handler_empty(), bsp_interrupt_set_handler_unique(), struct_bsp_interrupt_handler_entry::handler, and struct_bsp_interrupt_handler_entry::next.

Referenced by bsp_interrupt_free_handler_entry(), bsp_interrupt_handler_remove(), and bsp_interrupt_initialize().

static void bsp_interrupt_free_handler_entry ( bsp_interrupt_handler_entry e  )  [static]

Definition at line 109 of file irq-generic.c.

References bsp_interrupt_clear_handler_entry().

Referenced by bsp_interrupt_handler_remove().

void bsp_interrupt_handler_empty (  ) 

Definition at line 62 of file irq-generic.c.

Referenced by bsp_interrupt_clear_handler_entry(), and bsp_interrupt_is_empty_handler_entry().

static int bsp_interrupt_is_handler_unique ( rtems_vector_number  index  )  [inline, static]

Definition at line 34 of file irq-generic.c.

References bsp_interrupt_handler_unique_table.

Referenced by bsp_interrupt_handler_install(), and bsp_interrupt_is_initialized().

static int bsp_interrupt_is_initialized (  )  [inline, static]

Definition at line 52 of file irq-generic.c.

References BSP_INTERRUPT_HANDLER_TABLE_SIZE, and bsp_interrupt_is_handler_unique().

Referenced by bsp_interrupt_handler_install(), bsp_interrupt_handler_remove(), and bsp_interrupt_initialize().

static rtems_status_code bsp_interrupt_lock (  )  [static]

Definition at line 118 of file irq-generic.c.

References bsp_interrupt_mutex.

Referenced by bsp_interrupt_handler_install(), bsp_interrupt_handler_remove(), and bsp_interrupt_initialize().

static void bsp_interrupt_set_handler_unique ( rtems_vector_number  index,
int  unique 
) [inline, static]

Definition at line 41 of file irq-generic.c.

References bsp_interrupt_handler_unique_table.

Referenced by bsp_interrupt_clear_handler_entry(), bsp_interrupt_handler_install(), and bsp_interrupt_set_initialized().

static void bsp_interrupt_set_initialized (  )  [inline, static]

Definition at line 57 of file irq-generic.c.

References BSP_INTERRUPT_HANDLER_TABLE_SIZE, and bsp_interrupt_set_handler_unique().

Referenced by bsp_interrupt_initialize().

static rtems_status_code bsp_interrupt_unlock (  )  [static]

Definition at line 140 of file irq-generic.c.

References bsp_interrupt_mutex.

Referenced by bsp_interrupt_handler_install(), bsp_interrupt_handler_remove(), and bsp_interrupt_initialize().

int BSP_remove_rtems_irq_handler ( const rtems_irq_connect_data cd  ) 

Deprecated:
Use rtems_interrupt_handler_remove() instead.

Definition at line 488 of file irq-generic.c.

int BSP_rtems_irq_mngt_get ( rtems_irq_global_settings **  config  ) 

Deprecated:
This function is obsolete.

Definition at line 512 of file irq-generic.c.

int BSP_rtems_irq_mngt_set ( rtems_irq_global_settings config  ) 

Deprecated:
Use bsp_interrupt_initialize() instead.

Definition at line 504 of file irq-generic.c.


Variable Documentation

bsp_interrupt_handler_entry bsp_interrupt_handler_table[BSP_INTERRUPT_HANDLER_TABLE_SIZE]

Definition at line 27 of file irq-generic.c.

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

Definition at line 30 of file irq-generic.c.

Referenced by bsp_interrupt_is_handler_unique(), and bsp_interrupt_set_handler_unique().

rtems_id bsp_interrupt_mutex [static]

Definition at line 32 of file irq-generic.c.

Referenced by bsp_interrupt_lock(), and bsp_interrupt_unlock().


Generated on Mon May 19 15:42:10 2008 for RTEMS by  doxygen 1.5.3