correct MIPS state restoring (Daniel Jacobowitz)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1686 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
6f970bd90e
commit
30d6cb8479
|
@ -62,6 +62,7 @@ extern target_ulong gen_opc_npc[OPC_BUF_SIZE];
|
||||||
extern uint8_t gen_opc_cc_op[OPC_BUF_SIZE];
|
extern uint8_t gen_opc_cc_op[OPC_BUF_SIZE];
|
||||||
extern uint8_t gen_opc_instr_start[OPC_BUF_SIZE];
|
extern uint8_t gen_opc_instr_start[OPC_BUF_SIZE];
|
||||||
extern target_ulong gen_opc_jump_pc[2];
|
extern target_ulong gen_opc_jump_pc[2];
|
||||||
|
extern uint32_t gen_opc_hflags[OPC_BUF_SIZE];
|
||||||
|
|
||||||
typedef void (GenOpFunc)(void);
|
typedef void (GenOpFunc)(void);
|
||||||
typedef void (GenOpFunc1)(long);
|
typedef void (GenOpFunc1)(long);
|
||||||
|
|
|
@ -53,6 +53,8 @@ uint8_t gen_opc_cc_op[OPC_BUF_SIZE];
|
||||||
#elif defined(TARGET_SPARC)
|
#elif defined(TARGET_SPARC)
|
||||||
target_ulong gen_opc_npc[OPC_BUF_SIZE];
|
target_ulong gen_opc_npc[OPC_BUF_SIZE];
|
||||||
target_ulong gen_opc_jump_pc[2];
|
target_ulong gen_opc_jump_pc[2];
|
||||||
|
#elif defined(TARGET_MIPS)
|
||||||
|
uint32_t gen_opc_hflags[OPC_BUF_SIZE];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int code_copy_enabled = 1;
|
int code_copy_enabled = 1;
|
||||||
|
@ -302,6 +304,8 @@ int cpu_restore_state(TranslationBlock *tb,
|
||||||
}
|
}
|
||||||
#elif defined(TARGET_MIPS)
|
#elif defined(TARGET_MIPS)
|
||||||
env->PC = gen_opc_pc[j];
|
env->PC = gen_opc_pc[j];
|
||||||
|
env->hflags &= ~MIPS_HFLAG_BMASK;
|
||||||
|
env->hflags |= gen_opc_hflags[j];
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue