|
|
@ -113,13 +113,9 @@ irqHandler:
|
|
|
|
LDR r0, [r14, #AIC_IVR]
|
|
|
|
LDR r0, [r14, #AIC_IVR]
|
|
|
|
STR lr, [r14, #AIC_IVR]
|
|
|
|
STR lr, [r14, #AIC_IVR]
|
|
|
|
|
|
|
|
|
|
|
|
/* Branch to interrupt handler in Supervisor mode */
|
|
|
|
/* Branch to C portion of the interrupt handler */
|
|
|
|
MSR CPSR_c, #ARM_MODE_SVC
|
|
|
|
|
|
|
|
STMFD sp!, {r1-r3, r12, lr}
|
|
|
|
|
|
|
|
MOV lr, pc
|
|
|
|
MOV lr, pc
|
|
|
|
BX r0
|
|
|
|
BX r0
|
|
|
|
LDMIA sp!, {r1-r3, r12, lr}
|
|
|
|
|
|
|
|
MSR CPSR_c, #ARM_MODE_IRQ | I_BIT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Acknowledge interrupt */
|
|
|
|
/* Acknowledge interrupt */
|
|
|
|
LDR lr, =AT91C_BASE_AIC
|
|
|
|
LDR lr, =AT91C_BASE_AIC
|
|
|
|