diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-03-12 14:18:28 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-03-12 14:18:28 +0000 |
commit | 1ba9d1bb5c8930d5717cfb985f345fb7e0f47886 (patch) | |
tree | b9485715cd2f17f1e11ef0b57f9f149fe5b8a2c6 /c/src/lib/libbsp/arm | |
parent | 2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-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/ChangeLog | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/gba/irq/irq_asm.S | 6 |
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 */ |