[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 10/41] target/arm: Use DISAS_TOO_MANY for ISB and SB
From: |
Richard Henderson |
Subject: |
[PATCH 10/41] target/arm: Use DISAS_TOO_MANY for ISB and SB |
Date: |
Sat, 10 Jul 2021 08:31:12 -0700 |
Using gen_goto_tb directly misses the single-step check.
Let the branch or debug exception be emitted by arm_tr_tb_stop.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/translate.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/arm/translate.c b/target/arm/translate.c
index fdf2b3d1c8..6d2867be1d 100644
--- a/target/arm/translate.c
+++ b/target/arm/translate.c
@@ -8904,7 +8904,7 @@ static bool trans_ISB(DisasContext *s, arg_ISB *a)
* self-modifying code correctly and also to take
* any pending interrupts immediately.
*/
- gen_goto_tb(s, 0, s->base.pc_next);
+ s->base.is_jmp = DISAS_TOO_MANY;
return true;
}
@@ -8918,7 +8918,7 @@ static bool trans_SB(DisasContext *s, arg_SB *a)
* for TCG; MB and end the TB instead.
*/
tcg_gen_mb(TCG_MO_ALL | TCG_BAR_SC);
- gen_goto_tb(s, 0, s->base.pc_next);
+ s->base.is_jmp = DISAS_TOO_MANY;
return true;
}
--
2.25.1
- [PATCH 00/41] tcg patch queue, Richard Henderson, 2021/07/10
- [PATCH 03/41] accel/tcg: Hoist tcg_tb_insert() up above tb_link_page(), Richard Henderson, 2021/07/10
- [PATCH 02/41] tcg: Avoid including 'trace-tcg.h' in target translate.c, Richard Henderson, 2021/07/10
- [PATCH 04/41] tcg: Bake tb_destroy() into tcg_region_tree, Richard Henderson, 2021/07/10
- [PATCH 01/41] tcg: Add separator in INDEX_op_call dump, Richard Henderson, 2021/07/10
- [PATCH 06/41] accel/tcg: Introduce translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 05/41] tcg: Move tb_phys_invalidate_count to tb_ctx, Richard Henderson, 2021/07/10
- [PATCH 07/41] target/alpha: Remove use_exit_tb, Richard Henderson, 2021/07/10
- [PATCH 08/41] target/alpha: Remove in_superpage, Richard Henderson, 2021/07/10
- [PATCH 09/41] target/alpha: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 10/41] target/arm: Use DISAS_TOO_MANY for ISB and SB,
Richard Henderson <=
- [PATCH 11/41] target/arm: Use translator_use_goto_tb for aarch64, Richard Henderson, 2021/07/10
- [PATCH 12/41] target/arm: Use translator_use_goto_tb for aarch32, Richard Henderson, 2021/07/10
- [PATCH 14/41] target/avr: Mark some helpers noreturn, Richard Henderson, 2021/07/10
- [PATCH 18/41] target/m68k: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 13/41] target/avr: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 17/41] target/i386: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 15/41] target/cris: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 16/41] target/hppa: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 20/41] target/mips: Use translator_use_goto_tb, Richard Henderson, 2021/07/10
- [PATCH 21/41] target/mips: Fix missing else in gen_goto_tb, Richard Henderson, 2021/07/10