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