diff options
-rw-r--r-- | c/src/lib/libbsp/arm/ChangeLog | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/shared/irq/irq_asm.S | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/ChangeLog | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/irq/irq_asm.S | 6 |
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... |