summaryrefslogtreecommitdiffstats
path: root/c/src
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-03-12 14:19:11 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-03-12 14:19:11 +0000
commit0ef82c8cfee75d7ee1b526b6941bef8d566dea61 (patch)
treea9dc38697a51277ba26e0388af05ced4394441a6 /c/src
parent2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-0ef82c8cfee75d7ee1b526b6941bef8d566dea61.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')
-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/i386/ChangeLog9
-rw-r--r--c/src/lib/libbsp/i386/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
6 files changed, 36 insertions, 9 deletions
diff --git a/c/src/lib/libbsp/arm/ChangeLog b/c/src/lib/libbsp/arm/ChangeLog
index 04d1109e6e..56f22f0f07 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.
+
2008-08-18 Ralf Corsépius <ralf.corsepius@rtems.org>
* shared/irq/irq_init.c: Add missing prototypes.
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 202d3330f2..fd17609282 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/i386/ChangeLog b/c/src/lib/libbsp/i386/ChangeLog
index 9960082116..dd4190cf97 100644
--- a/c/src/lib/libbsp/i386/ChangeLog
+++ b/c/src/lib/libbsp/i386/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.
+
2008-09-07 Ralf Corsépius <ralf.corsepius@rtems.org>
* shared/comm/i386-stub.c: Include stdbool.h.
diff --git a/c/src/lib/libbsp/i386/shared/irq/irq_asm.S b/c/src/lib/libbsp/i386/shared/irq/irq_asm.S
index 81faa17584..8c74007fbf 100644
--- a/c/src/lib/libbsp/i386/shared/irq/irq_asm.S
+++ b/c/src/lib/libbsp/i386/shared/irq/irq_asm.S
@@ -143,17 +143,17 @@ nested:
/* Is dispatch disabled */
jne .exit /* Yes, then exit */
- cmpl $0, SYM (_Context_Switch_necessary)
+ cmpb $0, SYM (_Context_Switch_necessary)
/* Is task switch necessary? */
jne .schedule /* Yes, then call the scheduler */
- cmpl $0, SYM (_ISR_Signals_to_thread_executing)
+ cmpb $0, SYM (_ISR_Signals_to_thread_executing)
/* signals sent to Run_thread */
/* while in interrupt handler? */
je .exit /* No, exit */
.bframe:
- movl $0, SYM (_ISR_Signals_to_thread_executing)
+ movb $0, SYM (_ISR_Signals_to_thread_executing)
/*
* This code is the less critical path. In order to have a single
* Thread Context, we take the same frame than the one pushed on
diff --git a/c/src/lib/libbsp/powerpc/ChangeLog b/c/src/lib/libbsp/powerpc/ChangeLog
index 32e7208a74..32e51e97a4 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...