summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-03-12 14:18:32 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-03-12 14:18:32 +0000
commit01d1ae3610851b0310d45471e376bcf3e4a2375d (patch)
tree14639e12b9d41b19a1b83117f792b60ace46d687 /c/src/lib/libbsp/arm
parent2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-01d1ae3610851b0310d45471e376bcf3e4a2375d.tar.bz2
2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1385/cpukit * shared/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 'c/src/lib/libbsp/arm')
-rw-r--r--c/src/lib/libbsp/arm/ChangeLog9
-rw-r--r--c/src/lib/libbsp/arm/shared/irq/irq_asm.S6
2 files changed, 12 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/arm/ChangeLog b/c/src/lib/libbsp/arm/ChangeLog
index af8ea4c801..28b42315a1 100644
--- a/c/src/lib/libbsp/arm/ChangeLog
+++ b/c/src/lib/libbsp/arm/ChangeLog
@@ -1,3 +1,12 @@
+2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
+
+ PR 1385/cpukit
+ * shared/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-03-02 Ray Xu <rayx.cn@gmail.com>
* shared/irq/irq_asm.S: Newer compilers handle alignment better.
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 5c0f1f8474..67b4151f8f 100644
--- a/c/src/lib/libbsp/arm/shared/irq/irq_asm.S
+++ b/c/src/lib/libbsp/arm/shared/irq/irq_asm.S
@@ -79,13 +79,13 @@ _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), */
@@ -95,7 +95,7 @@ _ISR_Handler:
/* _ISR_Signals_to_thread_executing = FALSE */
mov r1, #0
- str r1, [r0]
+ strb r1, [r0]
bframe: