On Mon, Sep 11, 2017 at 6:52 AM, Peter Maydell <[email protected]> wrote:
> In do_v7m_exception_exit(), there's no need to force the high 4
> bits of 'type' to 1 when calling v7m_exception_taken(), because
> we know that they're always 1 or we could not have got to this
> "handle return to magic exception return address" code. Remove
> the unnecessary ORs.
>
> Signed-off-by: Peter Maydell <[email protected]>

Acked-by: Alistair Francis <[email protected]>

Thanks,
Alistair

> ---
>  target/arm/helper.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/target/arm/helper.c b/target/arm/helper.c
> index 1741e0d..fdd5cc6 100644
> --- a/target/arm/helper.c
> +++ b/target/arm/helper.c
> @@ -6306,7 +6306,7 @@ static void do_v7m_exception_exit(ARMCPU *cpu)
>           */
>          env->v7m.cfsr[env->v7m.secure] |= R_V7M_CFSR_INVPC_MASK;
>          armv7m_nvic_set_pending(env->nvic, ARMV7M_EXCP_USAGE);
> -        v7m_exception_taken(cpu, type | 0xf0000000);
> +        v7m_exception_taken(cpu, type);
>          qemu_log_mask(CPU_LOG_INT, "...taking UsageFault on existing "
>                        "stackframe: failed exception return integrity 
> check\n");
>          return;
> @@ -6348,7 +6348,7 @@ static void do_v7m_exception_exit(ARMCPU *cpu)
>          armv7m_nvic_set_pending(env->nvic, ARMV7M_EXCP_USAGE);
>          env->v7m.cfsr[env->v7m.secure] |= R_V7M_CFSR_INVPC_MASK;
>          v7m_push_stack(cpu);
> -        v7m_exception_taken(cpu, type | 0xf0000000);
> +        v7m_exception_taken(cpu, type);
>          qemu_log_mask(CPU_LOG_INT, "...taking UsageFault on new stackframe: "
>                        "failed exception return integrity check\n");
>          return;
> --
> 2.7.4
>
>

Reply via email to