#include <inttypes.h>
#include "cpu.h"
-#include "exec-all.h"
#include "disas.h"
#include "tcg-op.h"
#include "qemu-log.h"
if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) {
tcg_gen_goto_tb(n);
gen_set_pc_im(dest);
- tcg_gen_exit_tb((long)tb + n);
+ tcg_gen_exit_tb((tcg_target_long)tb + n);
} else {
gen_set_pc_im(dest);
tcg_gen_exit_tb(0);
* E : 5
*/
switch (insn >> 29) {
- case 0b000:
+ case 0x0:
if (UCOP_SET(5) && UCOP_SET(8) && !UCOP_SET(28)) {
do_mult(env, s, insn);
break;
do_misc(env, s, insn);
break;
}
- case 0b001:
+ case 0x1:
if (((UCOP_OPCODES >> 2) == 2) && !UCOP_SET_S) {
do_misc(env, s, insn);
break;
do_datap(env, s, insn);
break;
- case 0b010:
+ case 0x2:
if (UCOP_SET(8) && UCOP_SET(5)) {
do_ldst_hwsb(env, s, insn);
break;
if (UCOP_SET(8) || UCOP_SET(5)) {
ILLEGAL;
}
- case 0b011:
+ case 0x3:
do_ldst_ir(env, s, insn);
break;
- case 0b100:
+ case 0x4:
if (UCOP_SET(8)) {
ILLEGAL; /* extended instructions */
}
do_ldst_m(env, s, insn);
break;
- case 0b101:
+ case 0x5:
do_branch(env, s, insn);
break;
- case 0b110:
+ case 0x6:
/* Coprocessor. */
disas_coproc_insn(env, s, insn);
break;
- case 0b111:
+ case 0x7:
if (!UCOP_SET(28)) {
disas_coproc_insn(env, s, insn);
break;
#endif
}
-void gen_pc_load(CPUState *env, TranslationBlock *tb,
- unsigned long searched_pc, int pc_pos, void *puc)
+void restore_state_to_opc(CPUState *env, TranslationBlock *tb, int pc_pos)
{
env->regs[31] = gen_opc_pc[pc_pos];
}