Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Mar 2017 11:41:14 +0100
From:      Sylvain Garrigues <sylvain@sylvaingarrigues.com>
To:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: Is CPUTYPE=cortex-A7 supposed to work?
Message-ID:  <E6BC9F77-F65B-4918-9E22-3BFECA268E30@sylvaingarrigues.com>
In-Reply-To: <79EBD44B-2C2D-4394-A90C-DF494A049F20@dsl-only.net>
References:  <871suc3nv8.fsf@news-spur.riddles.org.uk> <CANCZdfq4EwH%2B_9FVNai8s6Y-gdTjHJ8dNkJwSrnF%2BSAkdwvYdg@mail.gmail.com> <8737ely05c.fsf@news-spur.riddles.org.uk> <CANCZdfpftVHaPahTOP0vxB-FR%2BKtpqY9JMJr=F2DGifD0fhKMQ@mail.gmail.com> <87wpbxw3yd.fsf@news-spur.riddles.org.uk> <79EBD44B-2C2D-4394-A90C-DF494A049F20@dsl-only.net>

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

> Le 10 mars 2017 =C3=A0 18:51, Mark Millard <markmi at dsl-only.net> a =
=C3=A9crit :
>=20
> So overall:
>=20
> If the ABI stays as it is for 11 (or 12), floating point in
> general (VFP with or without NEON) and Integer NEON can be
> broken when signals are involved that allow the code to keep
> going instead of exiting the process. (This means all NEON use
> is subject to the issue.)

Reading through this thread I understand one can definitely get into =
trouble with a system which has CPUTYPE=3Dcortex-a7 in make.conf (or =
even some -mcpu=3Dcortex-a7 in some CFLAGS variable there), especially =
if a port does FP stuff in a signal handler (because FP registers are =
not well preserved / restored on the kernel side).

As Michal wrote:
> Unfortunately, on armv6, the VFP part of kernel <-> userland =
interaction
> is broken from day 1.=20

This kind of frightens me, is there any plan to fix it soon (I=E2=80=99d =
help if I could)?=20

I understand Andrew's tiny patch =
(https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D180669&action=3Ddif=
f =
<https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D180669&action=3Ddif=
f>) fixes VFP interactions during signal handling, would that fix all =
the "VFP part of kernel <-> userland interaction =C2=BB?

Is fixing VFP already being discussed in a Phabricator=E2=80=99s review =
or are you guys discussing a backward-compatible alternative to =
ABI-breaking (although we are not required to do so since we are still =
tier-2) elsewhere?

Needless to say, I see strong interest in being able to just dump =
"CPUTYPE=3D<my cpu variant>" in make.conf on arm and be confident my =
system will be fine and fine-tuned, just like I do for all my x86/amd64 =
machines with such a flag.

Have all a good day,
Sylvain=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E6BC9F77-F65B-4918-9E22-3BFECA268E30>