aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2022-12-12 09:03:17 -0600
committerMichael Tokarev <mjt@tls.msk.ru>2023-03-29 10:20:04 +0300
commite34f86a2f91c39d610d58baa6f4c9ed9a5a5d791 (patch)
tree678ee2a2906acb91b5a5be15e1a355daeb0f6962 /target
parentb67b00e6b4c7831a3f5bc684bc0df7a9bfd1bd56 (diff)
target/sh4: Mask restore of env->flags from tb->flags
The values in env->flags are a subset of tb->flags. Restore only the bits that belong. Cc: qemu-stable@nongnu.org Fixes: ab419fd8a035 ("target/sh4: Fix TB_FLAG_UNALIGN") Signed-off-by: Guenter Roeck <linux@roeck-us.net> Message-ID: <20221212011345.GA2235238@roeck-us.net> [rth: Reduce to only the the superh_cpu_synchronize_from_tb change] Signed-off-by: Richard Henderson <richard.henderson@linaro.org> (cherry picked from commit bc2331635ce18ff068d2bb1e493bc546e1f786e1) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Diffstat (limited to 'target')
-rw-r--r--target/sh4/cpu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/sh4/cpu.c b/target/sh4/cpu.c
index 453268392b..827cee25af 100644
--- a/target/sh4/cpu.c
+++ b/target/sh4/cpu.c
@@ -47,7 +47,7 @@ static void superh_cpu_synchronize_from_tb(CPUState *cs,
SuperHCPU *cpu = SUPERH_CPU(cs);
cpu->env.pc = tb_pc(tb);
- cpu->env.flags = tb->flags;
+ cpu->env.flags = tb->flags & TB_FLAG_ENVFLAGS_MASK;
}
static void superh_restore_state_to_opc(CPUState *cs,