DragonFly On-Line Manual Pages
NPX(4) DragonFly/i386 Kernel Interfaces Manual NPX(4)
NAME
npx -- Numeric Processing Extension coprocessor and emulator
SYNOPSIS
device npx0 at nexus? port IO_NPX flags 0x0 irq 13
For hosts without a FPU coprocessor add:
options MATH_EMULATE
DESCRIPTION
The npx driver enables the use of the system's Numeric Processing Exten-
sion coprocessor, if one is present. Numeric processing extensions are
present in systems with 486DX CPUs and in systems with 487SX coproces-
sors. The npx driver is required for proper system functioning regard-
less of whether or not a NPX is present.
If there is no NPX present in the system, the MATH_EMULATE option must be
defined in the kernel configuration file. It will provide support for
the instructions normally executed by the NPX. If there is no NPX in the
system and the kernel is not built with math emulation, the system will
not boot.
The GENERIC kernel configuration uses the MATH_EMULATE option.
For a description of the possible "flags" values see the LINT kernel con-
figuration file.
CAVEATS
The emulator is much slower than the NPX coprocessor. This will result
in poor floating-point math performance if the emulator must be used.
The emulator does not support the whole set of npx instructions. It is
sufficient for booting and configuring a system, but it cannot support a
system with normal workload unless care is taken to compile the whole
system (including third-party packages) with compiler options that avoid
the use of the non-emulated instructions.
BUGS
There are lots of them, especially on old cheap motherboards. In partic-
ular, some motherboards do not have the interrupt lines from the NPX to
the CPU wired properly. If this is the case, the emulator must be used
if consistent system operation is desired.
When using the MATH_EMULATE option, transcendental function instructions
are not implemented. Emulation of other instructions is suspect.
DragonFly 4.3 August 28, 1993 DragonFly 4.3