Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Oct 2015 09:33:40 -0700
From:      Adrian Chadd <adrian.chadd@gmail.com>
To:        Konstantin Belousov <kib@freebsd.org>
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>,  "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>,  "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r288492 - head/sys/arm/arm
Message-ID:  <CAJ-Vmo=NpzpN2g_NchUgjkq33jF0f4XN4OL_X8m2xYrki36xRg@mail.gmail.com>
In-Reply-To: <201510021326.t92DQ0Ds002986@repo.freebsd.org>
References:  <201510021326.t92DQ0Ds002986@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

When you run this stuff on ARM (and MIPS, too) - would you please
report in the commit message(s) which platforms you ran it on?

I'd hate to see this break an existing platform that it mostly works
on just to fix it on a platform it doesn't.



-a


On 2 October 2015 at 06:26, Konstantin Belousov <kib@freebsd.org> wrote:
> Author: kib
> Date: Fri Oct  2 13:25:59 2015
> New Revision: 288492
> URL: https://svnweb.freebsd.org/changeset/base/288492
>
> Log:
>   Do not set 'flush to zero' VFPSCR_FZ bit by default.  The correct
>   implementation of IEEE 754 arithmetic depends on denormals operating
>   correctly.  Both perl test suite and paranoia tripped over the
>   setting.
>
>   Reported by:  Stefan Parvu <sparvu@kronometrix.org>
>   Discussed with:       andrew
>   Sponsored by: The FreeBSD Foundation
>   MFC after:    1 week
>
> Modified:
>   head/sys/arm/arm/machdep.c
>   head/sys/arm/arm/vm_machdep.c
>
> Modified: head/sys/arm/arm/machdep.c
> ==============================================================================
> --- head/sys/arm/arm/machdep.c  Fri Oct  2 13:21:08 2015        (r288491)
> +++ head/sys/arm/arm/machdep.c  Fri Oct  2 13:25:59 2015        (r288492)
> @@ -1069,7 +1069,7 @@ init_proc0(vm_offset_t kstack)
>                 (thread0.td_kstack + kstack_pages * PAGE_SIZE) - 1;
>         thread0.td_pcb->pcb_flags = 0;
>         thread0.td_pcb->pcb_vfpcpu = -1;
> -       thread0.td_pcb->pcb_vfpstate.fpscr = VFPSCR_DN | VFPSCR_FZ;
> +       thread0.td_pcb->pcb_vfpstate.fpscr = VFPSCR_DN;
>         thread0.td_frame = &proc0_tf;
>         pcpup->pc_curpcb = thread0.td_pcb;
>  }
>
> Modified: head/sys/arm/arm/vm_machdep.c
> ==============================================================================
> --- head/sys/arm/arm/vm_machdep.c       Fri Oct  2 13:21:08 2015        (r288491)
> +++ head/sys/arm/arm/vm_machdep.c       Fri Oct  2 13:25:59 2015        (r288492)
> @@ -134,7 +134,7 @@ cpu_fork(register struct thread *td1, re
>         pcb2->pcb_regs.sf_sp = STACKALIGN(td2->td_frame);
>
>         pcb2->pcb_vfpcpu = -1;
> -       pcb2->pcb_vfpstate.fpscr = VFPSCR_DN | VFPSCR_FZ;
> +       pcb2->pcb_vfpstate.fpscr = VFPSCR_DN;
>
>         tf = td2->td_frame;
>         tf->tf_spsr &= ~PSR_C;
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=NpzpN2g_NchUgjkq33jF0f4XN4OL_X8m2xYrki36xRg>