xref: /freebsd/share/man/man4/man4.i386/npx.4 (revision aa0a1e58)
1.\"
2.\" Copyright (c) 1993 Christopher G. Demetriou
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\" 3. All advertising materials mentioning features or use of this software
14.\"    must display the following acknowledgement:
15.\"      This product includes software developed by Christopher G. Demetriou.
16.\" 3. The name of the author may not be used to endorse or promote products
17.\"    derived from this software without specific prior written permission
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29.\"
30.\"	$Id: npx.4,v 1.1 1993/08/06 10:58:03 cgd Exp $
31.\" $FreeBSD$
32.\"
33.Dd August 28, 1993
34.Dt NPX 4 i386
35.Os
36.Sh NAME
37.Nm npx
38.Nd Numeric Processing Extension coprocessor
39.Sh SYNOPSIS
40.Cd "device npx"
41.Cd hint.npx.0.at="nexus"
42.Cd hint.npx.0.port="0x0F0"
43.Cd hint.npx.0.flags="0x0"
44.Cd hint.npx.0.irq="13"
45.Sh DESCRIPTION
46The
47.Nm
48driver enables the use of the system's Numeric Processing Extension
49coprocessor.
50Numeric processing extensions are present in
51systems with
52.Tn 486DX
53CPUs and in systems with
54.Tn 387
55or
56.Tn 487SX
57coprocessors.
58The
59.Nm
60driver is required for proper system functioning.
61If there is no NPX in the system, the system will not boot.
62.Pp
63The flags for
64.Pa npx0
65are:
66.Pp
67.Bl -tag -width indent -compact
68.It 0x01
69do not use the NPX registers to optimize bcopy.
70.It 0x02
71do not use the NPX registers to optimize bzero.
72.It 0x04
73do not use the NPX registers to optimize copyin or copyout.
74.El
75.Pp
76The NPX registers are normally used
77to optimize copying and zeroing
78when all of the following conditions are satisfied:
79.Pp
80.Bl -enum -compact
81.It
82.Cd "cpu I586_CPU"
83is an option
84.It
85the CPU is an i586 (perhaps not a Pentium)
86.It
87the probe for
88.Pa npx0
89succeeds
90.It
91INT 16 exception handling works.
92.El
93.Pp
94Then copying and zeroing
95using the NPX registers
96is normally 30-100% faster.
97.Pp
98The flags can be used
99to control cases
100where it does not work or is slower.
101Setting them at boot time
102using userconfig works correctly
103(the optimizations are not used
104until later in the bootstrap
105when
106.Pa npx0
107is attached).
108.Sh BUGS
109There are lots of them, especially on old cheap motherboards.
110In particular, some motherboards do not have the interrupt lines from
111the NPX to the CPU wired properly.
112