104 lines
4.0 KiB
Groff
104 lines
4.0 KiB
Groff
.\"
|
|
.\" Copyright (c) 1993 Christopher G. Demetriou
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by Christopher G. Demetriou.
|
|
.\" 3. The name of the author may not be used to endorse or promote products
|
|
.\" derived from this software withough specific prior written permission
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\" from: npx.4,v 1.1 1993/08/06 10:58:03 cgd Exp
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd August 28, 1993
|
|
.Dt NPX 4 i386
|
|
.Os
|
|
.Sh NAME
|
|
.Nm npx
|
|
.Nd Numeric Processing Extension coprocessor and emulator
|
|
.Sh SYNOPSIS
|
|
.Cd "device npx0 at nexus? port IO_NPX flags 0x0 irq 13"
|
|
.Pp
|
|
For hosts without a FPU coprocessor add:
|
|
.Cd "options MATH_EMULATE"
|
|
or
|
|
.Cd "options GPL_MATH_EMULATE"
|
|
.\" XXX this is awful hackery to get it to work right... -- cgd
|
|
.\" What the heck does he mean? - cracauer
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
driver enables the use of the system's Numeric Processing Extension
|
|
coprocessor,
|
|
if one is present. Numeric processing extensions are present in
|
|
systems with
|
|
.Sy 486DX
|
|
CPUs and in systems with
|
|
.Sy 387
|
|
or
|
|
.Sy 487SX
|
|
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 MATH_EMULATE or
|
|
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 option GPL_MATH_EMULATE in your kernel
|
|
configuration file instead of the MATH_EMULATE option.
|
|
.Pp
|
|
The
|
|
.Sy GENERIC
|
|
kernel configuration uses the MATH_EMULATE option.
|
|
.Pp
|
|
For a description of the possible "flags" values see the LINT kernel
|
|
configuration file.
|
|
.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 MATH_EMULATE option,
|
|
transcendental function instructions are not implemented.
|
|
Emulation of other instructions is suspect.
|