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.\" 32.Dd August 28, 1993 33.Dt NPX 4 i386 34.Os 35.Sh NAME 36.Nm npx 37.Nd Numeric Processing Extension coprocessor 38.Sh SYNOPSIS 39.Cd "device npx" 40.Cd hint.npx.0.at="nexus" 41.Cd hint.npx.0.port="0x0F0" 42.Cd hint.npx.0.flags="0x0" 43.Cd hint.npx.0.irq="13" 44.Sh DESCRIPTION 45The 46.Nm 47driver enables the use of the system's Numeric Processing Extension 48coprocessor. 49Numeric processing extensions are present in 50systems with 51.Tn 486DX 52CPUs and in systems with 53.Tn 387 54or 55.Tn 487SX 56coprocessors. 57The 58.Nm 59driver is required for proper system functioning. 60If there is no NPX in the system, the system will not boot. 61.Pp 62The flags for 63.Pa npx0 64are: 65.Pp 66.Bl -tag -width indent -compact 67.It 0x01 68do not use the NPX registers to optimize bcopy. 69.It 0x02 70do not use the NPX registers to optimize bzero. 71.It 0x04 72do not use the NPX registers to optimize copyin or copyout. 73.El 74.Pp 75The NPX registers are normally used 76to optimize copying and zeroing 77when all of the following conditions are satisfied: 78.Pp 79.Bl -enum -compact 80.It 81.Cd "cpu I586_CPU" 82is an option 83.It 84the CPU is an i586 (perhaps not a Pentium) 85.It 86the probe for 87.Pa npx0 88succeeds 89.It 90INT 16 exception handling works. 91.El 92.Pp 93Then copying and zeroing 94using the NPX registers 95is normally 30-100% faster. 96.Pp 97The flags can be used 98to control cases 99where it does not work or is slower. 100Setting them at boot time 101using hints works correctly 102(the optimizations are not used 103until later in the bootstrap 104when 105.Pa npx0 106is attached). 107.Sh BUGS 108There are lots of them, especially on old cheap motherboards. 109In particular, some motherboards do not have the interrupt lines from 110the NPX to the CPU wired properly. 111