summaryrefslogtreecommitdiffstats
path: root/c
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
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')
-rw-r--r--c/src/lib/libbsp/arm/ChangeLog9
-rw-r--r--c/src/lib/libbsp/arm/shared/irq/irq_asm.S6
-rw-r--r--c/src/lib/libbsp/powerpc/ChangeLog9
-rw-r--r--c/src/lib/libbsp/powerpc/shared/irq/irq_asm.S6
4 files changed, 24 insertions, 6 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:
diff --git a/c/src/lib/libbsp/powerpc/ChangeLog b/c/src/lib/libbsp/powerpc/ChangeLog
index 0a0696c5dd..d04728371c 100644
--- a/c/src/lib/libbsp/powerpc/ChangeLog
+++ b/c/src/lib/libbsp/powerpc/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-05 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/clock/clock.c: Standard decrementer exception is now more
diff --git a/c/src/lib/libbsp/powerpc/shared/irq/irq_asm.S b/c/src/lib/libbsp/powerpc/shared/irq/irq_asm.S
index 3189a884e7..5541632c0f 100644
--- a/c/src/lib/libbsp/powerpc/shared/irq/irq_asm.S
+++ b/c/src/lib/libbsp/powerpc/shared/irq/irq_asm.S
@@ -292,16 +292,16 @@ nested:
* do something with the current thread...
*/
addis r4, 0, _Context_Switch_necessary@ha
- lwz r5, _Context_Switch_necessary@l(r4)
+ lbz r5, _Context_Switch_necessary@l(r4)
cmpwi r5, 0
bne switch
addis r6, 0, _ISR_Signals_to_thread_executing@ha
- lwz r7, _ISR_Signals_to_thread_executing@l(r6)
+ lbz r7, _ISR_Signals_to_thread_executing@l(r6)
cmpwi r7, 0
li r8, 0
beq easy_exit
- stw r8, _ISR_Signals_to_thread_executing@l(r6)
+ stb r8, _ISR_Signals_to_thread_executing@l(r6)
/*
* going to call _ThreadProcessSignalsFromIrq
* Push a complete exception like frame...