mirror of https://github.com/xemu-project/xemu.git
target/nios2: in line the semantics of DISAS_UPDATE with other targets
In line the semantics of DISAS_UPDATE on nios2 target with other targets which is to explicitly write the PC back into the cpu state before doing a tcg_gen_exit_tb(). Signed-off-by: Wentong Wu <wentong.wu@intel.com> Message-id: 20200710233433.19729-2-wentong.wu@intel.com Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
42928f2c9c
commit
c769453571
|
@ -865,6 +865,7 @@ void gen_intermediate_code(CPUState *cs, TranslationBlock *tb, int max_insns)
|
|||
/* Indicate where the next block should start */
|
||||
switch (dc->is_jmp) {
|
||||
case DISAS_NEXT:
|
||||
case DISAS_UPDATE:
|
||||
/* Save the current PC back into the CPU register */
|
||||
tcg_gen_movi_tl(cpu_R[R_PC], dc->pc);
|
||||
tcg_gen_exit_tb(NULL, 0);
|
||||
|
@ -872,7 +873,6 @@ void gen_intermediate_code(CPUState *cs, TranslationBlock *tb, int max_insns)
|
|||
|
||||
default:
|
||||
case DISAS_JUMP:
|
||||
case DISAS_UPDATE:
|
||||
/* The jump will already have updated the PC register */
|
||||
tcg_gen_exit_tb(NULL, 0);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue