summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-02-20 21:53:48 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-02-20 21:53:48 +0000
commit88811af06e2ea097d8121f22d82a6127610e11ca (patch)
tree710d266563344d63c1bdd876eaed40051854ee87
parent1ac77e33a0059eced27f2953f2ff6c42c508aad3 (diff)
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.
-rw-r--r--cpukit/score/cpu/sparc/ChangeLog6
-rw-r--r--cpukit/score/cpu/sparc/cpu.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/cpukit/score/cpu/sparc/ChangeLog b/cpukit/score/cpu/sparc/ChangeLog
index 80005ed1e9..a06f6c6cf9 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-11-08 Joel Sherrill <joel.sherrill@OARcorp.com>
* rtems/score/cpu.h: Should not use uint32_t.
diff --git a/cpukit/score/cpu/sparc/cpu.c b/cpukit/score/cpu/sparc/cpu.c
index dd559325ef..621d4185ec 100644
--- a/cpukit/score/cpu/sparc/cpu.c
+++ b/cpukit/score/cpu/sparc/cpu.c
@@ -179,7 +179,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