/* * $Id: irq_trampoline.c,v 1.4 2007/11/23 13:37:42 nbrk Exp $ */ #include #include /* * IRQ trampoline-> * Will enter here when Core IRQ line is asserted. * IRQ controller driver configures us to call him on assert; * by default (until some irqc attached) we just return doing nothing. */ void irq_trampoline(struct pcb *iframep); void __do_nothing_and_return(void); /* default to do nothing (will overrided by some irqc driver) */ void (*irq_trampoline_func)(void) = __do_nothing_and_return; /* interrupt frame pointer */ struct pcb *iframep; void __do_nothing_and_return(void) { __asm __volatile("mov r1,r1"); } void irq_trampoline(struct pcb *ifp) { iframep = ifp; irq_trampoline_func(); }