Update npx status.

Reminded by:  tjr
This commit is contained in:
peter 2003-07-22 08:15:29 +00:00
parent 7c1e58684a
commit a05513a73b

View File

@ -35,24 +35,18 @@
.Os
.Sh NAME
.Nm npx
.Nd Numeric Processing Extension coprocessor and emulator
.Nd Numeric Processing Extension coprocessor
.Sh SYNOPSIS
.Cd "device npx"
.Cd hint.npx.0.at="nexus"
.Cd hint.npx.0.port="0x0F0"
.Cd hint.npx.0.flags="0x0"
.Cd hint.npx.0.irq="13"
.Pp
For hosts without a FPU coprocessor add:
.Cd "options MATH_EMULATE"
or
.Cd "options GPL_MATH_EMULATE"
.Sh DESCRIPTION
The
.Nm
driver enables the use of the system's Numeric Processing Extension
coprocessor,
if one is present.
coprocessor.
Numeric processing extensions are present in
systems with
.Tn 486DX
@ -63,32 +57,8 @@ or
coprocessors.
The
.Nm
driver is required for proper system functioning regardless
of whether or not a NPX is present.
.Pp
If there is no NPX present in the system, the
.Dv MATH_EMULATE
or
.Dv GPL_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.
.Pp
You can choose to use a much more fully-featured math emulator (under the
GPL license) by including the
.Cd "options GPL_MATH_EMULATE"
in your kernel
configuration file instead of the
.Dv MATH_EMULATE
option.
.Pp
The
.Pa GENERIC
kernel configuration uses the
.Dv MATH_EMULATE
option.
driver is required for proper system functioning.
If there is no NPX in the system, the system will not boot.
.Pp
The flags for
.Pa npx0
@ -101,8 +71,6 @@ do not use the NPX registers to optimize bcopy.
do not use the NPX registers to optimize bzero.
.It 0x04
do not use the NPX registers to optimize copyin or copyout.
.It 0x08
use emulator even if hardware FPU is available.
.El
.Pp
The NPX registers are normally used
@ -137,27 +105,7 @@ until later in the bootstrap
when
.Pa npx0
is attached).
Flag 0x08 automatically disables the i586 optimized routines.
.Sh 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.
.Pp
The non-GPL 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.
.Sh BUGS
There are lots of them, especially on old 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 consistent system
operation is desired.
.Pp
When using the default
.Dv MATH_EMULATE
option,
transcendental function instructions are not implemented.
Emulation of other instructions is suspect.