summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/shared/irq/irq_asm.S
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/shared/irq/irq_asm.S')
-rw-r--r--c/src/lib/libbsp/arm/shared/irq/irq_asm.S40
1 files changed, 20 insertions, 20 deletions
diff --git a/c/src/lib/libbsp/arm/shared/irq/irq_asm.S b/c/src/lib/libbsp/arm/shared/irq/irq_asm.S
index 348533e385..52a1692819 100644
--- a/c/src/lib/libbsp/arm/shared/irq/irq_asm.S
+++ b/c/src/lib/libbsp/arm/shared/irq/irq_asm.S
@@ -25,16 +25,16 @@
_ISR_Handler:
stmdb sp!, {r0, r1, r2, r3, r12} /* save regs on INT stack */
stmdb sp!, {lr} /* now safe to call C funcs */
-
+
/* one nest level deeper */
- ldr r0, =_ISR_Nest_level
+ ldr r0, =_ISR_Nest_level
ldr r1, [r0]
add r1, r1,#1
str r1, [r0]
-
+
/* disable multitasking */
- ldr r0, =_Thread_Dispatch_disable_level
+ ldr r0, =_Thread_Dispatch_disable_level
ldr r1, [r0]
add r1, r1,#1
str r1, [r0]
@@ -42,14 +42,14 @@ _ISR_Handler:
/* BSP specific function to INT handler */
/* FIXME: I'm not sure why I can't save just r12. I'm also */
/* not sure which of r1-r3 are important. */
- bl ExecuteITHandler
+ bl ExecuteITHandler
-/* one less nest level */
+/* one less nest level */
ldr r0, =_ISR_Nest_level
ldr r1, [r0]
sub r1, r1,#1
str r1, [r0]
-
+
/* unnest multitasking */
ldr r0, =_Thread_Dispatch_disable_level
ldr r1, [r0]
@@ -59,7 +59,7 @@ _ISR_Handler:
/* check to see if we interrupted nd INT (with FIQ?) */
mrs r0, spsr
and r0, r0, #0x1f
- cmp r0, #0x12 /* is it INT mode? */
+ cmp r0, #0x12 /* is it INT mode? */
beq exitit
/* If thread dispatching is disabled, exit */
@@ -70,18 +70,18 @@ _ISR_Handler:
ldr r0, =_Context_Switch_necessary
ldr r1, [r0]
cmp r1, #0
-
+
/* since bframe is going to clear _ISR_Signals_to_thread_executing, */
/* we need to load it here */
- ldr r0, =_ISR_Signals_to_thread_executing
+ ldr r0, =_ISR_Signals_to_thread_executing
ldr r1, [r0]
bne bframe
-
+
/* If a signals to be sent (_ISR_Signals_to_thread_executing != 0), */
/* call scheduler */
cmp r1, #0
beq exitit
-
+
/* _ISR_Signals_to_thread_executing = FALSE */
mov r1, #0
str r1, [r0]
@@ -94,7 +94,7 @@ bframe:
mrs r0, spsr
ldmia sp!, {r1} /* get lr off stack */
stmdb sp!, {r1}
- mrs r2, cpsr
+ mrs r2, cpsr
orr r3, r2, #0x1 /* change to SVC mode */
msr cpsr_c, r3
@@ -111,10 +111,10 @@ bframe:
ldmia sp!, {r1} /* out with the old */
stmdb sp!, {lr} /* in with the new (lr) */
-
+
orr r0, r0, #0xc0
msr spsr, r0
-
+
exitit:
ldmia sp!, {lr} /* restore regs from INT stack */
ldmia sp!, {r0, r1, r2, r3, r12} /* restore regs from INT stack */
@@ -122,7 +122,7 @@ exitit:
- /* on entry to _ISR_Dispatch, we're in SVC mode */
+ /* on entry to _ISR_Dispatch, we're in SVC mode */
.globl _ISR_Dispatch
_ISR_Dispatch:
stmdb sp!, {r0-r3, r12,lr} /* save regs on SVC stack */
@@ -130,15 +130,15 @@ _ISR_Dispatch:
/* we don't save lr, since */
/* it's just going to get */
/* overwritten */
-_ISR_Dispatch_p_4:
+_ISR_Dispatch_p_4:
bl _Thread_Dispatch
ldmia sp!, {r0-r3, r12, lr}
stmdb sp!, {r0-r2}
/* Now we have to screw with the stack */
mov r0, sp /* copy the SVC stack pointer */
-
- mrs r1, cpsr
+
+ mrs r1, cpsr
bic r2, r1, #0x1 /* change to INT mode */
orr r2, r2, #0xc0 /* disable interrupts */
msr cpsr_c, r2
@@ -147,7 +147,7 @@ _ISR_Dispatch_p_4:
stmdb sp!, {r4, r5, r6} /* save temp vars on INT stack */
ldmia r0!, {r4, r5, r6} /* Get r0-r3 from SVC stack */
stmdb sp!, {r4, r5, r6} /* and save them on INT stack */
-
+
ldmia r0!, {r4, r5} /* get saved values from SVC stack */
/* r4=spsr, r5=lr */
mov lr, r5 /* restore lr_int */