Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
target/tricore: Fix wrong PSW for call insns
we were copying PSW into a local variable, updated PSW.CDE in the local
and never wrote it back. So when we called save_context_upper() we were
using the non-local version of PSW which did not contain the updated
PSW.CDE.

Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Message-Id: <20230526061946.54514-6-kbastian@mail.uni-paderborn.de>
  • Loading branch information
bkoppelmann committed Jun 7, 2023
1 parent 343cdf2 commit 12b95dc
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions target/tricore/op_helper.c
Expand Up @@ -2447,6 +2447,8 @@ void helper_call(CPUTriCoreState *env, uint32_t next_pc)
}
/* PSW.CDE = 1;*/
psw |= MASK_PSW_CDE;
psw_write(env, psw);

/* tmp_FCX = FCX; */
tmp_FCX = env->FCX;
/* EA = {FCX.FCXS, 6'b0, FCX.FCXO, 6'b0}; */
Expand Down

0 comments on commit 12b95dc

Please sign in to comment.