What is the current status of FPU emulation?

Older kernels with FPU emulation are available from ftp://ftp.nocrew.org/pub/linux/. The FPU emulation code used in those kernels was adapted from NetBSD, and has bugs originating from both the emulation code itself and the Linux interface to it. The emulation code does not support all transcendent functions and not all supported functions have full precision implemented. Use of this FPU emulation code is not supported, endorsed, or sanctioned by the kernel developers; please do not send them bug reports, complaints, or even patches to this code.

The reason why the old FPU emulation code is unsupported is that its license is incompatible with the GNU General Public License. The code is restricted under the terms of the Berkeley Source Distribution license, which requires that accompanying code and documentation recognize the contributions of the University of California to the software. While this may seem to be a trivial point, the GPL does not allow any restrictions beyond those in the GPL on how software linked to the GPL can be distributed.

A new effort to write an improved FPU emulator under a GPL-friendly license is in the works; it is planned that this emulator will be licensed so it can be used without any strings attached (probably under something like the MIT X license). A recent mail from Roman Zippel claimed that the emulation was getting close to ready; see Roman's site for a snapshot. The Mac site may already have kernels with FPU emulation compiled-in.

If you are interested in getting your hands dirty and doing some actual work on the emulator, the code is also available at the Linux/m68k CVS repository. The CVS server is cvs.linux-m68k.org; login with user name "anon" and a blank password.

What about the 68LC040?

Some Apple Macintoshes were shipped with broken 68LC040 chips that can't run the FPU emulator. David D. Kilzer writes:

The easiest way [to check] is to try installing Software FPU for Mac OS. It will refuse to work if you have a "broken" LC040. You should be able to download this software from an INFO-MAC archive, or try Lycos' FTP Search.