From 92ce6ac76dfe8900bd4391b9d763f006e5d08cbb Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 12 Mar 2009 14:17:29 +0000 Subject: 2009-03-12 Joel Sherrill 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. --- c/src/lib/libbsp/arm/gba/ChangeLog | 9 +++++++++ c/src/lib/libbsp/arm/gba/irq/irq_asm.S | 6 +++--- c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog | 9 +++++++++ c/src/lib/libbsp/powerpc/mbx8xx/irq/irq_asm.S | 6 +++--- c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog | 9 +++++++++ c/src/lib/libbsp/powerpc/mpc8260ads/irq/irq_asm.S | 6 +++--- 6 files changed, 36 insertions(+), 9 deletions(-) (limited to 'c/src') diff --git a/c/src/lib/libbsp/arm/gba/ChangeLog b/c/src/lib/libbsp/arm/gba/ChangeLog index 8eaa6ded3d..b12f799418 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 + + 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. + 2008-12-08 Ralf Corsépius * bsp_specs: Backport from CVS-HEAD. 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 */ diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog b/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog index d5d35c4b6c..526a03d98d 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog +++ b/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog @@ -1,3 +1,12 @@ +2009-03-12 Joel Sherrill + + 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. + 2008-12-08 Ralf Corsépius * bsp_specs: Backport from CVS-HEAD. diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/irq/irq_asm.S b/c/src/lib/libbsp/powerpc/mbx8xx/irq/irq_asm.S index d94e9d2493..c40df33880 100644 --- a/c/src/lib/libbsp/powerpc/mbx8xx/irq/irq_asm.S +++ b/c/src/lib/libbsp/powerpc/mbx8xx/irq/irq_asm.S @@ -268,16 +268,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... diff --git a/c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog b/c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog index ff005061d3..3afb7d8ee5 100644 --- a/c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog +++ b/c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog @@ -1,3 +1,12 @@ +2009-03-12 Joel Sherrill + + 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-03-09 Joel Sherrill * include/tm27.h: Add include rtems/powerpc/powerpc.h diff --git a/c/src/lib/libbsp/powerpc/mpc8260ads/irq/irq_asm.S b/c/src/lib/libbsp/powerpc/mpc8260ads/irq/irq_asm.S index a0aa73abc0..d36c0c2de5 100644 --- a/c/src/lib/libbsp/powerpc/mpc8260ads/irq/irq_asm.S +++ b/c/src/lib/libbsp/powerpc/mpc8260ads/irq/irq_asm.S @@ -226,16 +226,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... -- cgit v1.2.3