View Single Post
Old 29th October 2008
BSDfan666 BSDfan666 is offline
Real Name: N/A, this is the interweb.
Helpful companion
Join Date: Apr 2008
Location: Ontario, Canada
Posts: 2,223

Originally Posted by richardpl View Post
But it is enabled only if cpu actually have npx (DEV_NPX defined), 686 CPU do not have that coprocessor. (ony 486DX CPU, and systems with 387 or 487SX coprocessors)
This npx(4) man page may shed more light.
I think if it is possible on some of such CPUs to build kernel without I586_CPU and than npx routines would be emulated - slower.
All x86 processors, modern ones anyway, have a math coproccessor.. and it's a requirement of OpenBSD at least.

In newer processors, it's a part of the actual CPU.. in the 486/386 era, it was an optional upgrade.

I have a few systems without math coprocessor, NetBSD runs fine on them.. as it has a FPU emulator. (Loss of precision though.).

I'm not aware of FreeBSD has a FPU emulator or not, but in the OpenBSD world.. it was dropped after the switch to the ELF format, nobody wanted to port it over.

I'm a guest here, in OpenBSD.. CPU optimizations go unrecommended, and considering the negligible amount of class specific code, why not keep them all defined? IMHO.
Reply With Quote