From 15508fb4187febce9a086e47b58cb7598a4bc180 Mon Sep 17 00:00:00 2001 From: Denis Drakhnya Date: Thu, 12 Nov 2020 19:32:08 +0200 Subject: [PATCH] target: e2k: Fix crash on conditional syscall. --- target/e2k/helper.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/target/e2k/helper.c b/target/e2k/helper.c index d53f96d8ba..41bb97e1c3 100644 --- a/target/e2k/helper.c +++ b/target/e2k/helper.c @@ -16,7 +16,10 @@ void helper_raise_exception(CPUE2KState *env, int tt) void helper_call(CPUE2KState *env, uint64_t ctpr, uint64_t cond) { int tag = GET_FIELD(ctpr, CTPR_TAG_OFF, CTPR_TAG_END); - if (tag == CTPR_TAG_SDISP && cond) { + if (!cond) { + return; + } + if (tag == CTPR_TAG_SDISP) { CPUState *cs = env_cpu(env); cs->exception_index = E2K_EXCP_SYSCALL;