Removal of NWFPE in its entirety, and VFP emulation code

Nicolas Pitre nico at fluxnic.net
Wed Apr 10 13:30:35 EDT 2013


On Wed, 10 Apr 2013, Russell King - ARM Linux wrote:

> I have just committed a patch to remove the arch/arm/nwfpe code from
> the kernel, and the VFP code emulating the FP operations.
> 
> This I have done after it has been brought to my attention by the OSADL's
> GPL-violations project that the license for the softfloat library is
> incompatible with GPLv2.  This is because the FSF have ruled that
> indemnification clauses consitute an "additional restriction" which is
> incompatible with the GPLv2 section 6.  NWFPE contains the softfloat
> library, and VFP's emulation code is a derivative of softfloat.
> 
> This will be very disruptive for ARMv4 and ARMv5 CPUs, which will no
> longer be able to run userspace with NWFPE support removed.  A possible
> solution there is to resurrect FASTFPE support and merge that into
> mainline in place of NWFPE.  FASTFPE's hooks are all present in the
> kernel, and it should just be a case of adding the FASTFPE code.
> However, FASTFPE is probably lacking GDB and signal stack support.
> (FastFPE's per-thread workspace is different from NWFPE.)

A point worth mentioning is the EABI availability since 2006 which moved 
away from FPA completely. A soft-float library in user space is used in 
that case.  Major ARM binary producers including all ARM distros moved 
to EABI with user space soft-float since then as it is order of 
magnitude faster than FPA emulation.  So 99.99% of ARMv4 and ARMv5 users 
are unlikely to be affected.

So another option here might imply deprecating OABI support entirely, 
given that it is useless without FPA and people keeping current with the 
latest kernel are very likely to already use EABI user space.


Nicolas



More information about the linux-arm-kernel mailing list