[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH] target/arm/vfp_helper: Call set_fpscr_to_host bef
From: |
Laurent Desnogues |
Subject: |
Re: [Qemu-arm] [PATCH] target/arm/vfp_helper: Call set_fpscr_to_host before updating to FPSCR |
Date: |
Fri, 5 Jul 2019 16:10:27 +0200 |
On Fri, Jul 5, 2019 at 2:43 PM Philippe Mathieu-Daudé <address@hidden> wrote:
>
> In commit e9d652824b0 we extracted the vfp_set_fpscr_to_host()
> function but failed at calling it in the correct place, we call
> it after xregs[ARM_VFP_FPSCR] is modified.
>
> Fix by calling this function before we update FPSCR.
>
> Reported-by: Laurent Desnogues <address@hidden>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Laurent Desnogues <address@hidden>
Tested-by: Laurent Desnogues <address@hidden>
Thanks,
Laurent
> ---
> target/arm/vfp_helper.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/target/arm/vfp_helper.c b/target/arm/vfp_helper.c
> index 46041e3294..9710ef1c3e 100644
> --- a/target/arm/vfp_helper.c
> +++ b/target/arm/vfp_helper.c
> @@ -197,6 +197,8 @@ void HELPER(vfp_set_fpscr)(CPUARMState *env, uint32_t val)
> val &= 0xf7c0009f;
> }
>
> + vfp_set_fpscr_to_host(env, val);
> +
> /*
> * We don't implement trapped exception handling, so the
> * trap enable bits, IDE|IXE|UFE|OFE|DZE|IOE are all RAZ/WI (not RES0!)
> @@ -217,8 +219,6 @@ void HELPER(vfp_set_fpscr)(CPUARMState *env, uint32_t val)
> env->vfp.qc[1] = 0;
> env->vfp.qc[2] = 0;
> env->vfp.qc[3] = 0;
> -
> - vfp_set_fpscr_to_host(env, val);
> }
>
> void vfp_set_fpscr(CPUARMState *env, uint32_t val)
> --
> 2.20.1
>