diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2022-04-17 09:51:27 -0700 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2022-04-21 10:04:33 -0700 |
commit | 4341631e4d94e63c85de7215a6228fbf62293ec4 (patch) | |
tree | ec8f91b779e2418a3e216d233fa08a1e2dd79162 /target | |
parent | 401d46789410e88e9e90d76a11f46e8e9f358d55 (diff) | |
download | qemu-4341631e4d94e63c85de7215a6228fbf62293ec4.zip qemu-4341631e4d94e63c85de7215a6228fbf62293ec4.tar.gz qemu-4341631e4d94e63c85de7215a6228fbf62293ec4.tar.bz2 |
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')
-rw-r--r-- | target/rx/translate.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/target/rx/translate.c b/target/rx/translate.c index c8a8991..c9db165 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) |