target/arm: Introduce gen_exception_el_v
Split out a common helper function for gen_exception_el and gen_exception_insn_el_v. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20220609202901.1177572-19-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
1a13b9a863
commit
d6d7f818a9
@ -1086,11 +1086,15 @@ static void gen_exception_internal_insn(DisasContext *s, uint32_t pc, int excp)
|
|||||||
s->base.is_jmp = DISAS_NORETURN;
|
s->base.is_jmp = DISAS_NORETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gen_exception_el(int excp, uint32_t syndrome, uint32_t target_el)
|
static void gen_exception_el_v(int excp, uint32_t syndrome, TCGv_i32 tcg_el)
|
||||||
{
|
{
|
||||||
gen_helper_exception_with_syndrome_el(cpu_env, tcg_constant_i32(excp),
|
gen_helper_exception_with_syndrome_el(cpu_env, tcg_constant_i32(excp),
|
||||||
tcg_constant_i32(syndrome),
|
tcg_constant_i32(syndrome), tcg_el);
|
||||||
tcg_constant_i32(target_el));
|
}
|
||||||
|
|
||||||
|
static void gen_exception_el(int excp, uint32_t syndrome, uint32_t target_el)
|
||||||
|
{
|
||||||
|
gen_exception_el_v(excp, syndrome, tcg_constant_i32(target_el));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gen_exception(DisasContext *s, int excp, uint32_t syndrome)
|
static void gen_exception(DisasContext *s, int excp, uint32_t syndrome)
|
||||||
@ -1107,8 +1111,7 @@ static void gen_exception_insn_el_v(DisasContext *s, uint64_t pc, int excp,
|
|||||||
gen_set_condexec(s);
|
gen_set_condexec(s);
|
||||||
gen_set_pc_im(s, pc);
|
gen_set_pc_im(s, pc);
|
||||||
}
|
}
|
||||||
gen_helper_exception_with_syndrome_el(cpu_env, tcg_constant_i32(excp),
|
gen_exception_el_v(excp, syn, tcg_el);
|
||||||
tcg_constant_i32(syn), tcg_el);
|
|
||||||
s->base.is_jmp = DISAS_NORETURN;
|
s->base.is_jmp = DISAS_NORETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user