mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
target/arm: Rebuild hflags at EL changes
Begin setting, but not relying upon, env->hflags. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20191023150057.25731-17-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
14f3c58826
commit
a8a79c7a07
6 changed files with 9 additions and 0 deletions
|
@ -1025,6 +1025,7 @@ void HELPER(exception_return)(CPUARMState *env, uint64_t new_pc)
|
|||
} else {
|
||||
env->regs[15] = new_pc & ~0x3;
|
||||
}
|
||||
helper_rebuild_hflags_a32(env, new_el);
|
||||
qemu_log_mask(CPU_LOG_INT, "Exception return from AArch64 EL%d to "
|
||||
"AArch32 EL%d PC 0x%" PRIx32 "\n",
|
||||
cur_el, new_el, env->regs[15]);
|
||||
|
@ -1036,10 +1037,12 @@ void HELPER(exception_return)(CPUARMState *env, uint64_t new_pc)
|
|||
}
|
||||
aarch64_restore_sp(env, new_el);
|
||||
env->pc = new_pc;
|
||||
helper_rebuild_hflags_a64(env, new_el);
|
||||
qemu_log_mask(CPU_LOG_INT, "Exception return from AArch64 EL%d to "
|
||||
"AArch64 EL%d PC 0x%" PRIx64 "\n",
|
||||
cur_el, new_el, env->pc);
|
||||
}
|
||||
|
||||
/*
|
||||
* Note that cur_el can never be 0. If new_el is 0, then
|
||||
* el0_a64 is return_to_aa64, else el0_a64 is ignored.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue