diff options
Diffstat (limited to 'src/exceptions/irq.S')
-rw-r--r-- | src/exceptions/irq.S | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/src/exceptions/irq.S b/src/exceptions/irq.S deleted file mode 100644 index a7e78bc..0000000 --- a/src/exceptions/irq.S +++ /dev/null @@ -1,28 +0,0 @@ -.section ".text.exceptions" -.globl irq -irq: - cpsid ai - stmfd sp!, {r0-r12,lr} - // Run IRQ handler - bl c_irq_handler - cmp r0, #1 - bne 1f - // Schedule if interrupted a thread - mrs r1, spsr - and r1, r1, #0x1f - cmp r1, #0x10 - bne 1f - ldmfd sp!, {r0-r12,lr} - // Don't skip missed instruction upon return - sub lr, #4 - push {r3} - // Store the instruction in a special area for - // future processing - ldr r3, =irqlr - str lr, [r3, #0] - pop {r3} - cps #0x13 - b schedule -1: - ldmfd sp!, {r0-r12,lr} - subs pc, lr, #4 |