mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 23:03:54 -06:00
target/arm: Create helper_exception_swstep
Move the computation from gen_swstep_exception into a helper. This fixes a bug when: - MDSCR_EL1.KDE == 1 to enable debug exceptions within EL_D itself - we singlestep an ERET from EL_D to some lower EL Previously we were computing 'same el' based on the EL which executed the ERET instruction, whereas it ought to be computed based on the EL to which ERET returned. This happens naturally with the new helper, which runs after EL has been changed. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20220609202901.1177572-14-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
486d6c9699
commit
f0d7c2054a
3 changed files with 20 additions and 9 deletions
|
@ -47,6 +47,7 @@ DEF_HELPER_FLAGS_3(sel_flags, TCG_CALL_NO_RWG_SE,
|
|||
DEF_HELPER_2(exception_internal, noreturn, env, i32)
|
||||
DEF_HELPER_4(exception_with_syndrome_el, noreturn, env, i32, i32, i32)
|
||||
DEF_HELPER_2(exception_bkpt_insn, noreturn, env, i32)
|
||||
DEF_HELPER_2(exception_swstep, noreturn, env, i32)
|
||||
DEF_HELPER_2(exception_pc_alignment, noreturn, env, tl)
|
||||
DEF_HELPER_1(setend, void, env)
|
||||
DEF_HELPER_2(wfi, void, env, i32)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue