diff options
author | se <se@FreeBSD.org> | 1997-02-11 22:08:22 +0000 |
---|---|---|
committer | se <se@FreeBSD.org> | 1997-02-11 22:08:22 +0000 |
commit | a66e16352de817f9def5bc0c3233721d84ae5ef4 (patch) | |
tree | 9b3e689eba322ea125637b9b0926a56d895653a1 /usr.sbin/pciconf | |
parent | 062bd92d8c4abd2a336db7f72ba05440a22c8f21 (diff) | |
download | FreeBSD-src-a66e16352de817f9def5bc0c3233721d84ae5ef4.zip FreeBSD-src-a66e16352de817f9def5bc0c3233721d84ae5ef4.tar.gz |
Man page for the pciconf utility. There really should be some
documentation on the ioctl() interface provided by /dev/pci ...
Reviewed by: wollman
Diffstat (limited to 'usr.sbin/pciconf')
-rw-r--r-- | usr.sbin/pciconf/pciconf.8 | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/usr.sbin/pciconf/pciconf.8 b/usr.sbin/pciconf/pciconf.8 new file mode 100644 index 0000000..d630778 --- /dev/null +++ b/usr.sbin/pciconf/pciconf.8 @@ -0,0 +1,182 @@ +.\" $FreeBSD$ +.\" Copyright (c) 1997 +.\" Stefan Esser <se@freebsd.org>. 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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. +.\" +.Dd February 7, 1997 +.Dt PCICONF 8 +.Os FreeBSD +.Sh NAME +.Nm pciconf +.Nd diagnostic utility for the PCI bus +.Sh SYNOPSIS +.Nm pciconf Fl l +.Nm pciconf Fl a Ar selector +.Nm pciconf Fl r Ar selector +.Op Fl b | Fl h +.Ar reg +.Nm pciconf Fl w Ar selector +.Op Fl b | Fl h +.Ar reg value +.Sh DESCRIPTION +The +.Em pciconf +command provides a command line interface to the functionality provided by +.Pa /dev/pci Ns 's +.Xr ioctl 2 +interface. +With the +.Fl l +option, it lists all devices found by the boot probe in the following format: +.Bd -literal +pci0:4:0: class=0x010000 card=0x00000000 chip=0x000f1000 rev=0x01 hdr=0x00 +pci0:5:0: class=0x000100 card=0x00000000 chip=0x88c15333 rev=0x00 hdr=0x00 +pci0:6:0: class=0x020000 card=0x00000000 chip=0x802910ec rev=0x00 hdr=0x00 +.Ed +.Pp +The first column gives the +.Ar selector +in a form which may directly be used for the other forms of the command. +The second column is the class code, with the class byte printed as two +hex digits, followed by the sub-class and the interface bytes. +The third column gives the contents of the subvendorid register, introduced +in revision 2.1 of the +.Tn PCI +standard. It is 0 for most current (2.0) +.Tn PCI +cards, but is supposed to be loaded with a unique card identification code +in newly developed +.Tn PCI +cards. The field consists of the card ID in the upper +half and the card vendor ID in the lower half of the value. +.Pp +The fourth column contains the chip device ID, which identifies the chip +this card is based on. It consists of two fields, identifying the chip and +its vendor, as above. +The fifth column prints the chip's revision. +The sixth column describes the header type. +Currently assigned header types are 0 for all devices except +.Tn PCI +to +.Tn PCI +bridges, and 1 for such bridge chips. If the most significant bit +of the header type register is set for +function 0 of a +.Tn PCI +device, it is a +.Em multi-function +device, which contains several (similar or independent) functions on +one chip. +.Pp +The +.Fl l +option is the only one available to non-root users. +All other invocations of +.Nm pciconf +require a +.Ar selector +of the form +.Li pci Ns Va bus Ns \&: Ns Va device +(optionally followed by +.Li \&: Ns Va function ) . +A final colon may be appended and +will be ignored; this is so that the first column in the output of +.Nm pciconf +.Fl l +can be used without modification. All numbers are base 10. +.Pp +With the +.Fl a +flag, +.Nm pciconf +determines whether any driver has been assigned to the device +identified by +.Ar selector . +An exit status of zero indicates that the device has a driver; +non-zero indicates that it does not. +.Pp +The +.Fl r +option reads a configuration space register at byte offset +.Ar reg +of device +.Ar selector +and prints out its value in hexadecimal. +The +.Fl w +option writes the +.Ar value +into a configuration space register at byte offset +.Ar reg +of device +.Ar selector . +For both operations, the flags +.Fl b +and +.Fl h +select the width of the operation; +.Fl b +indicates a byte operation, and +.Fl h +indicates a halfword (two-byte) operation. The default is to read or +write a longword (four bytes). +.Sh SEE ALSO +.Xr ioctl 2 , +.\" .Xr pci 4 , +.Xr modload 8 +.Sh HISTORY +The +.Nm pciconf +command appeared first in +.Fx 2.2 . +The +.Fl a +option was added for +.Tn PCI +LKM support in +.Fx 3.0 . +.Sh AUTHORS +The +.Nm +facility was written by Stefan Esser and Garrett Wollman. +.Sh BUGS +The +.Fl b +and +.Fl h +options are implemented in +.Nm pciconf , +but not in the underlying +.Fn ioctl . +.Pp +It might be useful to give non-root users access to the +.Fl a +and +.Fl r +options. But only root will be able to execute a +.Nm modload +to provide the device with a driver LKM, and reading of configuration space +registers may cause a failure in badly designed +.Tn PCI +chips. |