Fix the BPr instruction branch target calculation.

Index: qemu/target-sparc/translate.c
===================================================================
--- qemu.orig/target-sparc/translate.c  2006-06-22 14:50:51.000000000 +0000
+++ qemu/target-sparc/translate.c       2006-06-22 15:52:00.000000000 +0000
@@ -981,7 +981,7 @@
           case 0x3:           /* V9 BPr */
               {
                   target = GET_FIELD_SP(insn, 0, 13) |
-                       (GET_FIELD_SP(insn, 20, 21) >> 7);
+                       (GET_FIELD_SP(insn, 20, 21) << 14);
                   target = sign_extend(target, 16);
                   target <<= 2;
                   rs1 = GET_FIELD(insn, 13, 17);

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/



_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to