static rtems_isr rasta_interrupt_handler (rtems_vector_number v) { unsigned int status; status = irq->ipend; if ( (status & GRCAN_IRQ) && grcan_int_handler ) { grcan_int_handler(GRCAN_IRQNO,grcan_int_arg); } if (status & SPW_IRQ) { if ( (status & SPW0_IRQ) && spw0_int_handler ){ spw0_int_handler(SPW0_IRQNO,spw0_int_arg); } if ( (status & SPW1_IRQ) && spw1_int_handler ){ spw1_int_handler(SPW1_IRQNO,spw1_int_arg); } if ( (status & SPW2_IRQ) && spw2_int_handler ){ spw2_int_handler(SPW2_IRQNO,spw2_int_arg); } } if ((status & BRM_IRQ) && brm_int_handler ){ brm_int_handler(BRM_IRQNO,brm_int_arg); } if ( (status & UART0_IRQ) && uart0_int_handler ) { uart0_int_handler(UART0_IRQNO,uart0_int_arg); } if ( (status & UART1_IRQ) && uart1_int_handler) { uart1_int_handler(UART1_IRQNO,uart1_int_arg); } DBG("RASTA-IRQ: 0x%x\n",status); irq->iclear = status; }
/*----------------------------------------------------------------------------*/ void hw_uart1_int_handler() { uart1_int_handler(); tn_int_exit(); }