summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/gba
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-03-12 14:18:28 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-03-12 14:18:28 +0000
commit1ba9d1bb5c8930d5717cfb985f345fb7e0f47886 (patch)
treeb9485715cd2f17f1e11ef0b57f9f149fe5b8a2c6 /c/src/lib/libbsp/arm/gba
parent2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-1ba9d1bb5c8930d5717cfb985f345fb7e0f47886.tar.bz2
2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1385/cpukit * irq/irq_asm.S: When the type rtems_boolean was switched to the C99 bool, the size changed from 4 bytes to 1 byte. The interrupt dispatching code accesses two boolean variables for scheduling purposes and the assembly implementations of this code did not get updated.
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/arm/gba/ChangeLog9
-rw-r--r--c/src/lib/libbsp/arm/gba/irq/irq_asm.S6
2 files changed, 12 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/arm/gba/ChangeLog b/c/src/lib/libbsp/arm/gba/ChangeLog
index aadc7f0381..8b5c83be92 100644
--- a/c/src/lib/libbsp/arm/gba/ChangeLog
+++ b/c/src/lib/libbsp/arm/gba/ChangeLog
@@ -1,3 +1,12 @@
+2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
+
+ PR 1385/cpukit
+ * irq/irq_asm.S: When the type rtems_boolean was switched to the C99
+ bool, the size changed from 4 bytes to 1 byte. The interrupt
+ dispatching code accesses two boolean variables for scheduling
+ purposes and the assembly implementations of this code did not get
+ updated.
+
2009-02-26 Joel Sherrill <joel.sherrill@OARcorp.com>
* startup/cpu.c: Now compiles. Does not run.
diff --git a/c/src/lib/libbsp/arm/gba/irq/irq_asm.S b/c/src/lib/libbsp/arm/gba/irq/irq_asm.S
index a1bb08c313..41f698aa28 100644
--- a/c/src/lib/libbsp/arm/gba/irq/irq_asm.S
+++ b/c/src/lib/libbsp/arm/gba/irq/irq_asm.S
@@ -83,13 +83,13 @@ PUBLIC_ARM_FUNCTION(_ISR_Handler)
/* If a task switch is necessary, call scheduler */
ldr r0, =_Context_Switch_necessary
- ldr r1, [r0]
+ ldrb 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 r1, [r0]
+ ldrb r1, [r0]
bne bframe
/* If a signals to be sent (_ISR_Signals_to_thread_executing != 0), */
@@ -99,7 +99,7 @@ PUBLIC_ARM_FUNCTION(_ISR_Handler)
/* _ISR_Signals_to_thread_executing = FALSE */
mov r1, #0
- str r1, [r0]
+ strb r1, [r0]
bframe:
/* Now we need to set up the return from this ISR to be _ISR_Dispatch */