RTEMS
bsp_isr_handler.c
1 /*
2 * COPYRIGHT (c) 2015
3 * Cobham Gaisler
4 *
5 * The license and distribution terms for this file may be
6 * found in the file LICENSE in this distribution or at
7 * http://www.rtems.org/license/LICENSE.
8 *
9 */
10 
11 #include <rtems.h>
12 #include <bsp.h>
13 #include <bsp/irq-generic.h>
14 
15 static inline void bsp_dispatch_irq(int irq)
16 {
18  &bsp_interrupt_handler_table[bsp_interrupt_handler_index(irq)];
19 
20  while (e != NULL) {
21  (*e->handler)(e->arg);
22  e = e->next;
23  }
24 }
25 
26 /* Called directly from IRQ trap handler TRAP[0x10..0x1F] = IRQ[0..15] */
27 void bsp_isr_handler(rtems_vector_number vector)
28 {
29  int irq = vector - 0x10;
30 
31  /* Let BSP fixup and/or handle incomming IRQ */
32  irq = bsp_irq_fixup(irq);
33 
34  bsp_dispatch_irq(irq);
35 }
Generic BSP interrupt support API.
Definition: irq-generic.h:77
This header file defines the RTEMS Classic API.
ISR_Vector_number rtems_vector_number
%
Definition: intr.h:90