diff options
Diffstat (limited to 'c/src/lib/libcpu/arm/at91rm9200/irq/bsp_irq_asm.S')
-rw-r--r-- | c/src/lib/libcpu/arm/at91rm9200/irq/bsp_irq_asm.S | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/c/src/lib/libcpu/arm/at91rm9200/irq/bsp_irq_asm.S b/c/src/lib/libcpu/arm/at91rm9200/irq/bsp_irq_asm.S deleted file mode 100644 index d8b6757e4c..0000000000 --- a/c/src/lib/libcpu/arm/at91rm9200/irq/bsp_irq_asm.S +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Atmel AT91RM9200 Interrupt handler - * - * Copyright (c) 2004 by Jay Monkman <jtm@lopgindog.com> - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * - * http://www.rtems.com/license/LICENSE. - * - * - * $Id$ - */ -#define __asm__ - - .globl bsp_interrupt_dispatch -bsp_interrupt_dispatch : -/* - * Look at interrupt status register to determine source. - * From source, determine offset into expanded vector table - * and load vector into r0 and handler address into r1. - */ - ldr r0, =0xFFFFF100 /* AIC_CTL_BASE + AIC_IVR */ - ldr r1, [r0] - str r1, [r0] /* write back in case we are using protect */ - - ldr r0, =0xFFFFF108 /* AIC_CTL_BASE + AIC_ISR */ - ldr r0, [r0] /* Read interrupt vector */ - - stmdb sp!,{lr} - ldr lr, =IRQ_return /* prepare the return from handler */ - - mov pc, r1 /* execute handler */ - -IRQ_return: - ldr r2, =0xFFFFF130 /* AIC_CTL_BASE + AIC_EIOCR */ - str r1, [r2] - - ldmia sp!,{lr} - - mov pc, lr |