mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
target/arm: Wrap arm_rebuild_hflags calls with tcg_enabled
This is in preparation to moving the hflags code into its own file under the tcg/ directory. Signed-off-by: Fabiano Rosas <farosas@suse.de> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
9def656e7a
commit
2b77ad4de6
6 changed files with 42 additions and 17 deletions
|
@ -18,6 +18,7 @@
|
|||
#include "hw/intc/armv7m_nvic.h"
|
||||
#include "hw/irq.h"
|
||||
#include "hw/qdev-properties.h"
|
||||
#include "sysemu/tcg.h"
|
||||
#include "sysemu/runstate.h"
|
||||
#include "target/arm/cpu.h"
|
||||
#include "exec/exec-all.h"
|
||||
|
@ -2454,8 +2455,10 @@ static MemTxResult nvic_sysreg_write(void *opaque, hwaddr addr,
|
|||
/* This is UNPREDICTABLE; treat as RAZ/WI */
|
||||
|
||||
exit_ok:
|
||||
/* Ensure any changes made are reflected in the cached hflags. */
|
||||
arm_rebuild_hflags(&s->cpu->env);
|
||||
if (tcg_enabled()) {
|
||||
/* Ensure any changes made are reflected in the cached hflags. */
|
||||
arm_rebuild_hflags(&s->cpu->env);
|
||||
}
|
||||
return MEMTX_OK;
|
||||
}
|
||||
|
||||
|
@ -2636,11 +2639,14 @@ static void armv7m_nvic_reset(DeviceState *dev)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* We updated state that affects the CPU's MMUidx and thus its hflags;
|
||||
* and we can't guarantee that we run before the CPU reset function.
|
||||
*/
|
||||
arm_rebuild_hflags(&s->cpu->env);
|
||||
if (tcg_enabled()) {
|
||||
/*
|
||||
* We updated state that affects the CPU's MMUidx and thus its
|
||||
* hflags; and we can't guarantee that we run before the CPU
|
||||
* reset function.
|
||||
*/
|
||||
arm_rebuild_hflags(&s->cpu->env);
|
||||
}
|
||||
}
|
||||
|
||||
static void nvic_systick_trigger(void *opaque, int n, int level)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue