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/bfin | |
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/bfin')
-rw-r--r-- | cpukit/score/cpu/bfin/ChangeLog | 8 | ||||
-rw-r--r-- | cpukit/score/cpu/bfin/cpu_asm.S | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/cpukit/score/cpu/bfin/ChangeLog b/cpukit/score/cpu/bfin/ChangeLog index 4780b01fc8..09a4dfe618 100644 --- a/cpukit/score/cpu/bfin/ChangeLog +++ b/cpukit/score/cpu/bfin/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> * cpu.c, rtems/score/cpu.h: Change prototype of IDLE thread to diff --git a/cpukit/score/cpu/bfin/cpu_asm.S b/cpukit/score/cpu/bfin/cpu_asm.S index 9a00262c89..a9fa913f48 100644 --- a/cpukit/score/cpu/bfin/cpu_asm.S +++ b/cpukit/score/cpu/bfin/cpu_asm.S @@ -474,7 +474,7 @@ noHandler: sp = [sp]; noStackRestore: - /* check this stuff to insure context_switch_necessary and + /* check this stuff to ensure context_switch_necessary and isr_signals_to_thread_executing are being handled appropriately. */ p0.h = __Thread_Dispatch_disable_level; p0.l = __Thread_Dispatch_disable_level; @@ -487,17 +487,17 @@ noStackRestore: /* do thread dispatch if necessary */ p0.h = __Context_Switch_necessary; p0.l = __Context_Switch_necessary; - r0 = [p0]; + r0 = B[p0] (Z); cc = r0 == 0; p0.h = __ISR_Signals_to_thread_executing; p0.l = __ISR_Signals_to_thread_executing; if !cc jump doDispatch - r0 = [p0]; + r0 = B[p0] (Z); cc = r0 == 0; if cc jump noDispatch doDispatch: r0 = 0; - [p0] = r0; + B[p0] = r0; raise 15; noDispatch: r0 = [sp++]; |