@@ -3160,9 +3160,11 @@ void arm_register_el_change_hook(ARMCPU *cpu, ARMELChangeHookFn *hook, void
/**
* arm_rebuild_hflags:
+ * arm_cpu_rebuild_hflags:
* Rebuild the cached TBFLAGS for arbitrary changed processor state.
*/
void arm_rebuild_hflags(CPUARMState *env);
+void arm_cpu_rebuild_hflags(CPUState *cpu);
/**
* aa32_vfp_dreg:
@@ -2743,6 +2743,7 @@ static const TCGCPUOps arm_tcg_ops = {
.initialize = arm_translate_init,
.translate_code = arm_translate_code,
+ .rebuild_tb_hflags = arm_cpu_rebuild_hflags,
.get_tb_cpu_state = arm_get_tb_cpu_state,
.synchronize_from_tb = arm_cpu_synchronize_from_tb,
.debug_excp_handler = arm_debug_excp_handler,
@@ -238,6 +238,7 @@ static const TCGCPUOps arm_v7m_tcg_ops = {
.initialize = arm_translate_init,
.translate_code = arm_translate_code,
+ .rebuild_tb_hflags = arm_cpu_rebuild_hflags,
.get_tb_cpu_state = arm_get_tb_cpu_state,
.synchronize_from_tb = arm_cpu_synchronize_from_tb,
.debug_excp_handler = arm_debug_excp_handler,
@@ -453,6 +453,11 @@ void arm_rebuild_hflags(CPUARMState *env)
env->hflags = rebuild_hflags_internal(env);
}
+void arm_cpu_rebuild_hflags(CPUState *cpu)
+{
+ arm_rebuild_hflags(cpu_env(cpu));
+}
+
/*
* If we have triggered a EL state change we can't rely on the
* translator having passed it to us, we need to recompute.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- target/arm/cpu.h | 2 ++ target/arm/cpu.c | 1 + target/arm/tcg/cpu-v7m.c | 1 + target/arm/tcg/hflags.c | 5 +++++ 4 files changed, 9 insertions(+)