From 46d4beaba8fe7302a8aa94f2b3f2a943a6c6e932 Mon Sep 17 00:00:00 2001 From: Richard Barry Date: Fri, 28 Nov 2008 16:07:27 +0000 Subject: [PATCH] Update IRQ handler code. --- .../boards/at91sam9xe-ek/board_cstartup_iar.s | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/Demo/Common/drivers/Atmel/at91lib/boards/at91sam9xe-ek/board_cstartup_iar.s b/Demo/Common/drivers/Atmel/at91lib/boards/at91sam9xe-ek/board_cstartup_iar.s index d617c15e27..fabc1d1942 100644 --- a/Demo/Common/drivers/Atmel/at91lib/boards/at91sam9xe-ek/board_cstartup_iar.s +++ b/Demo/Common/drivers/Atmel/at91lib/boards/at91sam9xe-ek/board_cstartup_iar.s @@ -127,37 +127,6 @@ irqHandler: portRESTORE_CONTEXT - /* Won't progress to here. */ - - /* Save interrupt context on the stack to allow nesting */ - SUB lr, lr, #4 - STMFD sp!, {lr} - MRS lr, SPSR - STMFD sp!, {r0, lr} - - /* Write in the IVR to support Protect Mode */ - LDR lr, =AT91C_BASE_AIC - LDR r0, [r14, #AIC_IVR] - STR lr, [r14, #AIC_IVR] - - /* Branch to interrupt handler in Supervisor mode */ - MSR CPSR_c, #ARM_MODE_SVC - STMFD sp!, {r1-r3, r12, lr} - MOV lr, pc - BX r0 - LDMIA sp!, {r1-r3, r12, lr} - MSR CPSR_c, #ARM_MODE_IRQ | I_BIT - - /* Acknowledge interrupt */ - LDR lr, =AT91C_BASE_AIC - STR lr, [r14, #AIC_EOICR] - - /* Restore interrupt context and branch back to calling code */ - LDMIA sp!, {r0, lr} - MSR SPSR_cxsf, lr - LDMIA sp!, {pc}^ - - /* After a reset, execution starts here, the mode is ARM, supervisor with interrupts disabled.