aboutsummaryrefslogtreecommitdiff
path: root/target-mips/op.c
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-28 17:03:28 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-05-28 17:03:28 +0000
commit9b9e4393dd08481530f8d6389ed0ac64405aa4fa (patch)
treea221c5135f3c27133b028cdad6669866bf0a33d0 /target-mips/op.c
parent4020f27707e748a2da58de72461dc1befd6bc9c5 (diff)
MIPS64 addressing fixes, by Aurelien Jarno.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2888 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips/op.c')
-rw-r--r--target-mips/op.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/target-mips/op.c b/target-mips/op.c
index 8f67041ca2..f4598fb46c 100644
--- a/target-mips/op.c
+++ b/target-mips/op.c
@@ -976,6 +976,14 @@ void op_save_btarget (void)
RETURN();
}
+#ifdef TARGET_MIPS64
+void op_save_btarget64 (void)
+{
+ env->btarget = ((uint64_t)PARAM1 << 32) | (uint32_t)PARAM2;
+ RETURN();
+}
+#endif
+
/* Conditional branch */
void op_set_bcond (void)
{
@@ -2409,6 +2417,14 @@ void op_save_pc (void)
RETURN();
}
+#ifdef TARGET_MIPS64
+void op_save_pc64 (void)
+{
+ env->PC = ((uint64_t)PARAM1 << 32) | (uint32_t)PARAM2;
+ RETURN();
+}
+#endif
+
void op_interrupt_restart (void)
{
if (!(env->CP0_Status & (1 << CP0St_EXL)) &&