summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/sparc
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-03-12 14:16:50 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-03-12 14:16:50 +0000
commit0067feb6930cb9af6d9c1607baf7fa536fb2a48c (patch)
tree2e929e129cbb8309e0a692dae6aa77707e83f702 /cpukit/score/cpu/sparc
parentRegenerate. (diff)
downloadrtems-0067feb6930cb9af6d9c1607baf7fa536fb2a48c.tar.bz2
2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1385/cpukit * cpu_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 'cpukit/score/cpu/sparc')
-rw-r--r--cpukit/score/cpu/sparc/ChangeLog8
-rw-r--r--cpukit/score/cpu/sparc/cpu_asm.S8
2 files changed, 12 insertions, 4 deletions
diff --git a/cpukit/score/cpu/sparc/ChangeLog b/cpukit/score/cpu/sparc/ChangeLog
index f126f3fb9d..8a9348fc2d 100644
--- a/cpukit/score/cpu/sparc/ChangeLog
+++ b/cpukit/score/cpu/sparc/ChangeLog
@@ -1,3 +1,11 @@
+2009-03-12 Joel Sherrill <joel.sherrill@OARcorp.com>
+
+ PR 1385/cpukit
+ * cpu_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-02-12 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/score/cpu.h: Change prototype of IDLE thread to consistently
diff --git a/cpukit/score/cpu/sparc/cpu_asm.S b/cpukit/score/cpu/sparc/cpu_asm.S
index 56a1fc3b6a..119d3b0228 100644
--- a/cpukit/score/cpu/sparc/cpu_asm.S
+++ b/cpukit/score/cpu/sparc/cpu_asm.S
@@ -665,7 +665,7 @@ dont_fix_pil2:
* return to the interrupt dispatcher.
*/
- ld [%l4 + %lo(SYM(_Context_Switch_necessary))], %l5
+ ldub [%l4 + %lo(SYM(_Context_Switch_necessary))], %l5
orcc %l5, %g0, %g0 ! Is thread switch necessary?
bnz SYM(_ISR_Dispatch) ! yes, then invoke the dispatcher
@@ -677,7 +677,7 @@ dont_fix_pil2:
* executing task. If so, we need to invoke the interrupt dispatcher.
*/
- ld [%l6 + %lo(SYM(_ISR_Signals_to_thread_executing))], %l7
+ ldub [%l6 + %lo(SYM(_ISR_Signals_to_thread_executing))], %l7
orcc %l7, %g0, %g0 ! Were signals sent to the currently
! executing thread?
@@ -734,11 +734,11 @@ isr_dispatch:
*/
sethi %hi(SYM(_Context_Switch_necessary)), %l4
- ld [%l4 + %lo(SYM(_Context_Switch_necessary))], %l5
+ ldub [%l4 + %lo(SYM(_Context_Switch_necessary))], %l5
! NOTE: Use some of delay slot to start loading this
sethi %hi(SYM(_ISR_Signals_to_thread_executing)), %l6
- ld [%l6 + %lo(SYM(_ISR_Signals_to_thread_executing))], %l7
+ ldub [%l6 + %lo(SYM(_ISR_Signals_to_thread_executing))], %l7
orcc %l5, %g0, %g0 ! Is thread switch necessary?
bnz dispatchAgain ! yes, then invoke the dispatcher AGAIN