[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 18/20] target/arm: Rebuild hflags at CPSR writes
From: |
Alex Bennée |
Subject: |
Re: [PATCH v6 18/20] target/arm: Rebuild hflags at CPSR writes |
Date: |
Mon, 14 Oct 2019 20:08:15 +0100 |
User-agent: |
mu4e 1.3.5; emacs 27.0.50 |
Richard Henderson <address@hidden> writes:
> Continue setting, but not relying upon, env->hflags.
>
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> target/arm/op_helper.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/target/arm/op_helper.c b/target/arm/op_helper.c
> index ccc2cecb46..b529d6c1bf 100644
> --- a/target/arm/op_helper.c
> +++ b/target/arm/op_helper.c
> @@ -224,6 +224,7 @@ uint32_t HELPER(usat16)(CPUARMState *env, uint32_t x,
> uint32_t shift)
> void HELPER(setend)(CPUARMState *env)
> {
> env->uncached_cpsr ^= CPSR_E;
> + arm_rebuild_hflags(env);
> }
>
> /* Function checks whether WFx (WFI/WFE) instructions are set up to be
> trapped.
> @@ -387,6 +388,8 @@ uint32_t HELPER(cpsr_read)(CPUARMState *env)
> void HELPER(cpsr_write)(CPUARMState *env, uint32_t val, uint32_t mask)
> {
> cpsr_write(env, val, mask, CPSRWriteByInstr);
> + /* TODO: Not all cpsr bits are relevant to hflags. */
Do you mean by this we could check which bits changed and avoid a
re-compute if we wanted to? Is it likely to be anything other than the
SS_ACTIVE bit?
> + arm_rebuild_hflags(env);
> }
>
> /* Write the CPSR for a 32-bit exception return */
Anyway:
Reviewed-by: Alex Bennée <address@hidden>
--
Alex Bennée
- Re: [PATCH v6 12/20] target/arm: Add arm_rebuild_hflags, (continued)
- [PATCH v6 14/20] target/arm: Hoist store to cs_base in cpu_get_tb_cpu_state, Richard Henderson, 2019/10/11
- [PATCH v6 15/20] target/arm: Add HELPER(rebuild_hflags_{a32, a64, m32}), Richard Henderson, 2019/10/11
- [PATCH v6 17/20] target/arm: Rebuild hflags at MSR writes, Richard Henderson, 2019/10/11
- [PATCH v6 16/20] target/arm: Rebuild hflags at EL changes, Richard Henderson, 2019/10/11
- [PATCH v6 18/20] target/arm: Rebuild hflags at CPSR writes, Richard Henderson, 2019/10/11
- Re: [PATCH v6 18/20] target/arm: Rebuild hflags at CPSR writes,
Alex Bennée <=
- [PATCH v6 19/20] target/arm: Rebuild hflags for M-profile., Richard Henderson, 2019/10/11
- [PATCH v6 20/20] target/arm: Rely on hflags correct in cpu_get_tb_cpu_state, Richard Henderson, 2019/10/11
- Re: [PATCH v6 00/20] target/arm: Reduce overhead of cpu_get_tb_cpu_state, Peter Maydell, 2019/10/17