From owner-svn-src-head@freebsd.org Fri Oct 2 15:21:05 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 42917A0D9B8; Fri, 2 Oct 2015 15:21:05 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B1007119F; Fri, 2 Oct 2015 15:21:04 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id t92FKxr9062418 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Fri, 2 Oct 2015 18:20:59 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua t92FKxr9062418 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id t92FKx2o062417; Fri, 2 Oct 2015 18:20:59 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 2 Oct 2015 18:20:59 +0300 From: Konstantin Belousov To: Ian Lepore Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r288492 - head/sys/arm/arm Message-ID: <20151002152059.GY11284@kib.kiev.ua> References: <201510021326.t92DQ0Ds002986@repo.freebsd.org> <1443795970.66572.68.camel@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1443795970.66572.68.camel@freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Oct 2015 15:21:05 -0000 On Fri, Oct 02, 2015 at 08:26:10AM -0600, Ian Lepore wrote: > Some arm documentation refers to the need for "support code" when the > flush-to-zero option is disabled on VFPv2 hardware (which for us would > be just the RPi I think). Do we have that support code? What happens > if it's missing? I can't actually find any info on exactly what that > support code is supposed to do. For all I know, we have the required > code in libm. Or maybe what's needed is exception-handling code in the > kernel. I can't find any info on what they mean by "support code" in > this context. The fpscr register is user-modifiable, so whatever happens after the change, could as well happen before it. I saw the references to the support code in e.g. ARM v7-A A2.7.5 Flush-to-zero. But I was sure that the text refers to the modes when e.g. FZ is cleared and UFE or IXE bits are enabled. In this situation, fault handler must do something to allow the computation to proceed. > > I don't think this is an issue for VFPv3 and later hardware. I've > looked in a few of the TRMs for different cortex-a series processors and > they say the hardware handles all combinations of rounding and flush to > zero without support software. But we should probably be on the lookout > for reports of misbehaving apps on RPi after this change, just in case > this setting has been protecting us from our ignorance there. I did found the reference to the support code in the VFP11 TRM, which in turns point to http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.epm049219/index.html Does FreeBSD enable and handle this variant of coprocessor ? If yes, then indeed I would need to not enable FZ on the affected hardware.