Message ID | 20221129204146.550394-1-richard.henderson@linaro.org |
---|---|
State | New |
Headers | show |
Series | [for-7.2] target/arm: Set TCGCPUOps.restore_state_to_opc for v7m | expand |
Waiting for Evgeny's Signed-off-by. It seems a -rc4 tag will be required anyway for vhost fixes so I'll wait. Stefan
Signed-off-by: Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
---
On 29/11/22 21:41, Richard Henderson wrote: > This setting got missed, breaking v7m. > > Fixes: 56c6c98df85c ("target/arm: Convert to tcg_ops restore_state_to_opc") > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1347 > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > target/arm/internals.h | 4 ++++ > target/arm/cpu.c | 6 +++--- > target/arm/cpu_tcg.c | 1 + > 3 files changed, 8 insertions(+), 3 deletions(-) > diff --git a/target/arm/cpu_tcg.c b/target/arm/cpu_tcg.c > index 60ff539fa1..9a2cef7d05 100644 > --- a/target/arm/cpu_tcg.c > +++ b/target/arm/cpu_tcg.c > @@ -1035,6 +1035,7 @@ static const struct TCGCPUOps arm_v7m_tcg_ops = { > .initialize = arm_translate_init, > .synchronize_from_tb = arm_cpu_synchronize_from_tb, > .debug_excp_handler = arm_debug_excp_handler, > + .restore_state_to_opc = arm_restore_state_to_opc, Oops indeed :/ I double checked, arm_v7m_tcg_ops is the single TCGCPUOps missed. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Merged, thanks! Stefan
diff --git a/target/arm/internals.h b/target/arm/internals.h index d9121d9ff8..161e42d50f 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -185,6 +185,10 @@ static inline int r14_bank_number(int mode) void arm_cpu_register_gdb_regs_for_features(ARMCPU *cpu); void arm_translate_init(void); +void arm_restore_state_to_opc(CPUState *cs, + const TranslationBlock *tb, + const uint64_t *data); + #ifdef CONFIG_TCG void arm_cpu_synchronize_from_tb(CPUState *cs, const TranslationBlock *tb); #endif /* CONFIG_TCG */ diff --git a/target/arm/cpu.c b/target/arm/cpu.c index a021df9e9e..38d066c294 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -91,9 +91,9 @@ void arm_cpu_synchronize_from_tb(CPUState *cs, } } -static void arm_restore_state_to_opc(CPUState *cs, - const TranslationBlock *tb, - const uint64_t *data) +void arm_restore_state_to_opc(CPUState *cs, + const TranslationBlock *tb, + const uint64_t *data) { CPUARMState *env = cs->env_ptr; diff --git a/target/arm/cpu_tcg.c b/target/arm/cpu_tcg.c index 60ff539fa1..9a2cef7d05 100644 --- a/target/arm/cpu_tcg.c +++ b/target/arm/cpu_tcg.c @@ -1035,6 +1035,7 @@ static const struct TCGCPUOps arm_v7m_tcg_ops = { .initialize = arm_translate_init, .synchronize_from_tb = arm_cpu_synchronize_from_tb, .debug_excp_handler = arm_debug_excp_handler, + .restore_state_to_opc = arm_restore_state_to_opc, #ifdef CONFIG_USER_ONLY .record_sigsegv = arm_cpu_record_sigsegv,
This setting got missed, breaking v7m. Fixes: 56c6c98df85c ("target/arm: Convert to tcg_ops restore_state_to_opc") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1347 Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- The patch is unchanged from the correct suggestion in the issue. If Evgeny would like to reply with his s-o-b, this patch could be commited with updated Author. r~ --- target/arm/internals.h | 4 ++++ target/arm/cpu.c | 6 +++--- target/arm/cpu_tcg.c | 1 + 3 files changed, 8 insertions(+), 3 deletions(-)