예제 #1
0
파일: isr.c 프로젝트: fallen/milkymist-pong
void isr(void)
{
	unsigned int irqs;

	irqs = irq_pending() & irq_getmask();

	if(irqs & IRQ_UART)
		uart_isr();

	if(irqs & IRQ_TIMER0)
		time_isr();

	if(irqs & IRQ_AC97CRREQUEST)
		snd_isr_crrequest();
	if(irqs & IRQ_AC97CRREPLY)
		snd_isr_crreply();
	if(irqs & IRQ_AC97DMAR)
		snd_isr_dmar();
	if(irqs & IRQ_AC97DMAW)
		snd_isr_dmaw();

	if(irqs & IRQ_TMU)
		tmu_isr();

	if(irqs & IRQ_PFPU)
		pfpu_isr();

	irq_ack(irqs);
}
예제 #2
0
파일: isr.c 프로젝트: carlobar/milkymist
void isr()
{
	unsigned int irqs;

	cpustats_enter();

	irqs = irq_pending() & irq_getmask();

	if(irqs & IRQ_UARTRX)
		uart_isr_rx();
	if(irqs & IRQ_UARTTX)
		uart_isr_tx();

	if(irqs & IRQ_TIMER0)
		time_isr();

	if(irqs & IRQ_AC97CRREQUEST)
		snd_isr_crrequest();
	if(irqs & IRQ_AC97CRREPLY)
		snd_isr_crreply();
	if(irqs & IRQ_AC97DMAR)
		snd_isr_dmar();
	if(irqs & IRQ_AC97DMAW)
		snd_isr_dmaw();

	if(irqs & IRQ_PFPU)
		pfpu_isr();

	if(irqs & IRQ_TMU)
		tmu_isr();
	
	if(irqs & IRQ_USB)
		usb_isr();

	cpustats_leave();
}