summaryrefslogtreecommitdiff
path: root/translate-all.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-12-05 19:56:07 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-12-05 19:56:07 +0000
commit30d6cb8479163676bf27bf73464a899db985f1f9 (patch)
tree32dd557b2ae73a94344722f6726b95664124c97e /translate-all.c
parent6f970bd90ec4ee73cf7a27616d44f1a1e0056532 (diff)
correct MIPS state restoring (Daniel Jacobowitz)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1686 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'translate-all.c')
-rw-r--r--translate-all.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/translate-all.c b/translate-all.c
index cac91c535b..0de429f5b9 100644
--- a/translate-all.c
+++ b/translate-all.c
@@ -53,6 +53,8 @@ uint8_t gen_opc_cc_op[OPC_BUF_SIZE];
#elif defined(TARGET_SPARC)
target_ulong gen_opc_npc[OPC_BUF_SIZE];
target_ulong gen_opc_jump_pc[2];
+#elif defined(TARGET_MIPS)
+uint32_t gen_opc_hflags[OPC_BUF_SIZE];
#endif
int code_copy_enabled = 1;
@@ -302,6 +304,8 @@ int cpu_restore_state(TranslationBlock *tb,
}
#elif defined(TARGET_MIPS)
env->PC = gen_opc_pc[j];
+ env->hflags &= ~MIPS_HFLAG_BMASK;
+ env->hflags |= gen_opc_hflags[j];
#endif
return 0;
}