Annotation of funnyos/arch/testarm/boot/irq_trampoline.c, Revision 1.4
1.1 init 1: /*
1.4 ! nbrk 2: * $Id: irq_trampoline.c,v 1.3 2007/11/04 22:41:55 init Exp $
1.1 init 3: */
1.4 ! nbrk 4: #include <sys/types.h>
! 5:
! 6: #include <sys/pcb.h>
1.1 init 7:
8: /*
1.4 ! nbrk 9: * IRQ trampoline->
1.1 init 10: * Will enter here when Core IRQ line is asserted.
11: * IRQ controller driver configures us to call him on assert;
12: * by default (until some irqc attached) we just return doing nothing.
13: */
1.3 init 14:
1.4 ! nbrk 15: void irq_trampoline(struct pcb *iframep);
1.3 init 16: void __do_nothing_and_return(void);
17:
1.4 ! nbrk 18: /* default to do nothing (will overrided by some irqc driver) */
! 19: void (*irq_trampoline_func)(void) = __do_nothing_and_return;
! 20:
! 21: /* interrupt frame pointer */
! 22: struct pcb *iframep;
! 23:
1.1 init 24:
25: void
26: __do_nothing_and_return(void)
27: {
28:
29: __asm __volatile("mov r1,r1");
30: }
31:
1.2 init 32:
33: void
1.4 ! nbrk 34: irq_trampoline(struct pcb *ifp)
1.2 init 35: {
1.4 ! nbrk 36:
! 37: iframep = ifp;
! 38:
1.2 init 39: irq_trampoline_func();
40: }
41:
1.1 init 42:
CVSweb