Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support

7 messages, 4 authors, 2021-08-03 · open the first message on its own page

Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support

From: Martin Guy <hidden>
Date: 2021-08-02 15:45:23

On 02/08/2021, Arnd Bergmann [off-list ref] wrote:
The MaverickCrunch support for ep93xx never made it into glibc
This is true, but is not needed except for preserving FP registers in
catch/throw exeptions or longjmps.
was removed from gcc in its 4.8 release in 2012.
I was sad about that, as I had managed to get it working correctly in
4.2 4.3 and 4.4.
Unfortunately the GCC ARM maintainer at the time was paid by ARM, and
they had no interest in it, as I gather the ARM-Cirrus partnership
ended up disappointingly.
It is now one of
the last parts of arch/arm/ that fails to build with the clang
integrated assembler
Even if crunch support is not configured?
According to Hartley Sweeten:

 "Martin Guy did a lot of work trying to get the maverick crunch working
  but I was never able to successfully use it for anything.
  It "kind" of works but depending on the EP93xx silicon revision
It works fine on all production revisions except D0 (the first one)
which is so rare as to be unfindable. All the others from D1 on have
the exact same HW bugs.
  there are still a number of hardware bugs that either give imprecise or garbage results.
Not my experience, See http://martinwguy.net/crunch/#CorrectnessTests
If "imprecise" means "doesn't handle unnormalized FP values correctly"
then yes, that's a feature if you need the 2.5 to 4gimes speedup it
provides.
But I would be interested (Hartley) if you have a concrete example.
This touches mostly the ep93xx platform,
The ep93xx is the only chip series it was ever included in.
If there are remaining users of MaverickCrunch, they can use LTS
kernels for at least another five years before kernel support ends.
The only user ! am aware of is the HEAT deep space telescope in the Antarctic
http://martinwguy.blogspot.com/2015/10/maverickcrunch-code-runs-on-heat-deep.html

Personally I have no problem with removing kernel support if that
makes people's lives easier in some way.

  M

   M

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support

From: Martin Guy <hidden>
Date: 2021-08-03 11:41:04

I forward opinion from people currently producing and supporting EP93XX boards:

From: Technologic Systems Support Team <redacted>
To: martinwguy@gmail.com
Cc: jerome.oufella@savoirfairelinux.com
I expect our customers would care if support was dropped.
Unfortunately I don't know to what extent.  I'd like to bring
Jerome Oufella of Savoir Faire Linux into the conversation here,
as he runs the software company who most of our customers
contract through when they need a modern Linux kernel running
on one of our Cirrus Logic EP93XX series single board computers.
I expect his opinion will be more valuable than mine.
​>
Good morning Jerome,

A member of the Linux Kernel Development community reached out
to us this morning letting us know the community has suggested
dropping support for the MavericCrunch FPU on the EP9302 processor.
Would this impact any of the development your team has been doing
for some of our mutual customers?
From: Jerome Oufella<redacted>
I am aware of a few companies who rely on variants of the TS-7250
running not-too-old LTS releases (4.19, 5.4) to cope with their patch policies.

With Linux 5.10 being the next "Super LTS", this presumably brings its
support lifespan until about 2030, which (I believe) they would be
comfortable with considering the age of the platform.

Jerome Oufella
Vice-President, Technologies
www.savoirfairelinux.com
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support

From: Arnd Bergmann <arnd@kernel.org>
Date: 2021-08-03 12:02:16

On Tue, Aug 3, 2021 at 1:41 PM Martin Guy [off-list ref] wrote:
I forward opinion from people currently producing and supporting EP93XX boards:
Thanks a lot for bringing them in. I definitely don't want to remove support for
something that is actively being used, and we don't have to merge the patch
if they currently rely on MaverickCrunch on older platforms.

It does sound however like Jerome's customers are using a normal (softfloat)
Linus distro on EP93xx, rather than one using the original MaverickCrunch
FPU instructions. There are no plans to discontinue EP93xx support, there
is actually a good amount of recent work going into updating the platform.

Jerome, please let me know if I understood you correctly here. If your
customers do rely on MaverickCrunch support in user space, I would
leave that in the kernel for as long as ep93xx itself is supported, and instead
require building support with the GNU assembler to avoid having to
add support to the clang integrated assembler. If you don't know of anyone
using MaverickCrunch, I would go ahead with my patch to remove kernel
support.

      Arnd
From: Technologic Systems Support Team <redacted>
To: martinwguy@gmail.com
Cc: jerome.oufella@savoirfairelinux.com
quoted
I expect our customers would care if support was dropped.
Unfortunately I don't know to what extent.  I'd like to bring
Jerome Oufella of Savoir Faire Linux into the conversation here,
as he runs the software company who most of our customers
contract through when they need a modern Linux kernel running
on one of our Cirrus Logic EP93XX series single board computers.
I expect his opinion will be more valuable than mine.

Good morning Jerome,

A member of the Linux Kernel Development community reached out
to us this morning letting us know the community has suggested
dropping support for the MavericCrunch FPU on the EP9302 processor.
Would this impact any of the development your team has been doing
for some of our mutual customers?
From: Jerome Oufella<redacted>
quoted
I am aware of a few companies who rely on variants of the TS-7250
running not-too-old LTS releases (4.19, 5.4) to cope with their patch policies.

With Linux 5.10 being the next "Super LTS", this presumably brings its
support lifespan until about 2030, which (I believe) they would be
comfortable with considering the age of the platform.

Jerome Oufella
Vice-President, Technologies
www.savoirfairelinux.com
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support

From: Linus Walleij <hidden>
Date: 2021-08-03 12:12:50

On Mon, Aug 2, 2021 at 5:45 PM Martin Guy [off-list ref] wrote:
quoted
was removed from gcc in its 4.8 release in 2012.
I was sad about that, as I had managed to get it working correctly in
4.2 4.3 and 4.4.
Unfortunately the GCC ARM maintainer at the time was paid by ARM, and
they had no interest in it, as I gather the ARM-Cirrus partnership
ended up disappointingly.
Political issues aside, have you considered contributing support
to LLVM instead?

It currently doesn't even support ARMv4 AFAIK but reportedly
has an easier to use and maintain back-end. (I do not know if
this is true, I just browsed this:
https://llvm.org/docs/WritingAnLLVMBackend.html )
Current ARM Targets are here:
https://github.com/llvm/llvm-project/tree/main/llvm/lib/Target/ARM
And they have a very clear and straight-forward developer policy:
https://llvm.org/docs/DeveloperPolicy.html

If ARMv4 support could be added to LLVM, that would solve
a lot of my headaches for ARM32, where we have things like
SA110 being actively maintained.

Yours,
Linus Walleij

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support

From: Arnd Bergmann <arnd@kernel.org>
Date: 2021-08-03 12:54:35

On Tue, Aug 3, 2021 at 2:12 PM Linus Walleij [off-list ref] wrote:
On Mon, Aug 2, 2021 at 5:45 PM Martin Guy [off-list ref] wrote:
quoted
quoted
was removed from gcc in its 4.8 release in 2012.
I was sad about that, as I had managed to get it working correctly in
4.2 4.3 and 4.4.
Unfortunately the GCC ARM maintainer at the time was paid by ARM, and
they had no interest in it, as I gather the ARM-Cirrus partnership
ended up disappointingly.
Political issues aside, have you considered contributing support
to LLVM instead?

It currently doesn't even support ARMv4 AFAIK but reportedly
has an easier to use and maintain back-end. (I do not know if
this is true, I just browsed this:
https://llvm.org/docs/WritingAnLLVMBackend.html )
Current ARM Targets are here:
https://github.com/llvm/llvm-project/tree/main/llvm/lib/Target/ARM
And they have a very clear and straight-forward developer policy:
https://llvm.org/docs/DeveloperPolicy.html

If ARMv4 support could be added to LLVM, that would solve
a lot of my headaches for ARM32, where we have things like
SA110 being actively maintained.
I think for ARMv4 support, the only thing we need from llvm is
to have R_ARM_V4BX relocations, and for lld to support the
--fix-v4bx switch that turns 'bx' instructions into 'mov' when those
relocations are found. This is something that we have previously
discussed with the llvm developers and that may easily happen.

For the Crunch support, I don't think it's worth spending any effort
on adding that to llvm. If there are any remaining users, they have
probably stopped upgrading their user space long ago (to be
confirmed). The SoC itself has been "not recommended for new
design" since 2019, so we are unlikely to see new users of the platform
in the future, and I think existing users are equally unlikely to move
from softfp to crunch even if they have the option.

       Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support

From: Jerome Oufella <hidden>
Date: 2021-08-03 15:59:36

On Aug 3, 2021, at 7:58 AM, Arnd Bergmann arnd@kernel.org wrote:
On Tue, Aug 3, 2021 at 1:41 PM Martin Guy [off-list ref] wrote:
quoted
I forward opinion from people currently producing and supporting EP93XX boards:
Thanks a lot for bringing them in. I definitely don't want to remove support for
something that is actively being used, and we don't have to merge the patch
if they currently rely on MaverickCrunch on older platforms.

It does sound however like Jerome's customers are using a normal (softfloat)
Linus distro on EP93xx, rather than one using the original MaverickCrunch
FPU instructions. There are no plans to discontinue EP93xx support, there
is actually a good amount of recent work going into updating the platform.

Jerome, please let me know if I understood you correctly here. If your
customers do rely on MaverickCrunch support in user space, I would
leave that in the kernel for as long as ep93xx itself is supported, and instead
require building support with the GNU assembler to avoid having to
add support to the clang integrated assembler. If you don't know of anyone
using MaverickCrunch, I would go ahead with my patch to remove kernel
support.

     Arnd
Arnd,

You are correct on assuming usage of softfloat toolchains and not
using the MaverickCrunch unit. AFAIK, I am not aware of active users
of this FPU on recent setups.

 Jerome

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH] ARM: ep93xx: remove MaverickCrunch support

From: Arnd Bergmann <arnd@kernel.org>
Date: 2021-08-03 17:13:50

On Tue, Aug 3, 2021 at 5:52 PM Jerome Oufella
[off-list ref] wrote:
You are correct on assuming usage of softfloat toolchains and not
using the MaverickCrunch unit. AFAIK, I am not aware of active users
of this FPU on recent setups.
Ok, thank you for the confirmation, I'll queue it up in the soc tree then.

Of course, as there is nothing wrong with the feature other than it
probably having no users and breaking the build when using the
clang integrated assembler, I don't mind reverting it later if we end
up finding a user that does rely on ancient MaverickCrunch binaries
to run on future kernels.

       Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help