diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-03-12 14:16:50 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-03-12 14:16:50 +0000 |
commit | 0067feb6930cb9af6d9c1607baf7fa536fb2a48c (patch) | |
tree | 2e929e129cbb8309e0a692dae6aa77707e83f702 /cpukit/score/cpu/sparc | |
parent | Regenerate. (diff) | |
download | rtems-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/ChangeLog | 8 | ||||
-rw-r--r-- | cpukit/score/cpu/sparc/cpu_asm.S | 8 |
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 |