diff options
-rw-r--r-- | cpukit/score/cpu/sparc/ChangeLog | 6 | ||||
-rw-r--r-- | cpukit/score/cpu/sparc/cpu.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/cpukit/score/cpu/sparc/ChangeLog b/cpukit/score/cpu/sparc/ChangeLog index ea6892f3a8..293e4d5fc8 100644 --- a/cpukit/score/cpu/sparc/ChangeLog +++ b/cpukit/score/cpu/sparc/ChangeLog @@ -1,3 +1,9 @@ +2008-02-20 Alexandru Bugnar <a-bugnar@criticalsoftware.com> + + PR 1278/cpukit + * cpu.c: Fix incorrect bit manipulation on returning old address of raw + trap handler. + 2007-12-17 Joel Sherrill <joel.sherrill@oarcorp.com> * rtems/score/cpu.h: Add _CPU_Context_Get_SP() for stack check utility. diff --git a/cpukit/score/cpu/sparc/cpu.c b/cpukit/score/cpu/sparc/cpu.c index 64b72056d0..3124e1a8ec 100644 --- a/cpukit/score/cpu/sparc/cpu.c +++ b/cpukit/score/cpu/sparc/cpu.c @@ -174,7 +174,7 @@ void _CPU_ISR_install_raw_handler( if ( slot->mov_psr_l0 == _CPU_Trap_slot_template.mov_psr_l0 ) { u32_handler = - ((slot->sethi_of_handler_to_l4 & HIGH_BITS_MASK) << HIGH_BITS_SHIFT) | + (slot->sethi_of_handler_to_l4 << HIGH_BITS_SHIFT) | (slot->jmp_to_low_of_handler_plus_l4 & LOW_BITS_MASK); *old_handler = (proc_ptr) u32_handler; } else |