NPX(4)                OpenBSD Programmer's Manual (i386)                NPX(4)

NAME
     npx - Numeric Processing Extension coprocessor and emulator

SYNOPSIS
     options MATH_EMULATE
     options GPL_MATH_EMULATE
     npx0 at isa? port "IO_NPX0" irq 13

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 387 or 487SX co-
     processors.  The npx driver is required for proper system functioning re-
     gardless of whether or not a NPX is present.

     If there is no NPX present in the system, either option MATH_EMULATE or
     option GPL_MATH_EMULATE 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.

CAVEATS
     The emulator is much slower than the NPX coprocessor.  (The GPLed version
     of the emulator is somewhat faster than the non-GPLed one.)  This will
     result in poor floating-point math performance if the emulator must be
     used.

BUGS
     There are lots of them, especially on cheap motherboards.  In particular,
     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 con-
     sistent system operation is desired.

     Emulation of the transcendental functions instructions is incorrect.  Em-
     ulation of other instructions is suspect.

OpenBSD 2.9                     August 6, 1993                               1
