summaryrefslogtreecommitdiffstats
path: root/target/rx
diff options
context:
space:
mode:
authorRichard Henderson2022-04-17 18:51:27 +0200
committerRichard Henderson2022-04-21 19:04:33 +0200
commit4341631e4d94e63c85de7215a6228fbf62293ec4 (patch)
treeec8f91b779e2418a3e216d233fa08a1e2dd79162 /target/rx
parentMerge tag 'pull-target-arm-20220421' of https://git.linaro.org/people/pmaydel... (diff)
downloadqemu-4341631e4d94e63c85de7215a6228fbf62293ec4.tar.gz
qemu-4341631e4d94e63c85de7215a6228fbf62293ec4.tar.xz
qemu-4341631e4d94e63c85de7215a6228fbf62293ec4.zip
target/rx: Put tb_flags into DisasContext
Copy tb->flags into ctx->tb_flags; we'll want to modify this value throughout the tb in future. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp> Message-Id: <20220417165130.695085-2-richard.henderson@linaro.org>
Diffstat (limited to 'target/rx')
-rw-r--r--target/rx/translate.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/target/rx/translate.c b/target/rx/translate.c
index c8a8991a63..c9db16553b 100644
--- a/target/rx/translate.c
+++ b/target/rx/translate.c
@@ -32,6 +32,7 @@ typedef struct DisasContext {
DisasContextBase base;
CPURXState *env;
uint32_t pc;
+ uint32_t tb_flags;
} DisasContext;
typedef struct DisasCompare {
@@ -231,7 +232,7 @@ static inline TCGv rx_load_source(DisasContext *ctx, TCGv mem,
/* Processor mode check */
static int is_privileged(DisasContext *ctx, int is_exception)
{
- if (FIELD_EX32(ctx->base.tb->flags, PSW, PM)) {
+ if (FIELD_EX32(ctx->tb_flags, PSW, PM)) {
if (is_exception) {
gen_helper_raise_privilege_violation(cpu_env);
}
@@ -2292,6 +2293,7 @@ static void rx_tr_init_disas_context(DisasContextBase *dcbase, CPUState *cs)
CPURXState *env = cs->env_ptr;
DisasContext *ctx = container_of(dcbase, DisasContext, base);
ctx->env = env;
+ ctx->tb_flags = ctx->base.tb->flags;
}
static void rx_tr_tb_start(DisasContextBase *dcbase, CPUState *cs)