]> mj.ucw.cz Git - pciutils.git/blobdiff - setpci.man
Updated pci.ids to the current snapshot.
[pciutils.git] / setpci.man
index 2825532ecc833cc2b504de96704de3ffa98363f2..d682c37e1f9c8a00a5aea0d80b435ff68b061962 100644 (file)
@@ -1,4 +1,4 @@
-.TH setpci 8 "@TODAY@" "@VERSION@" "Linux PCI Utilities"
+.TH setpci 8 "@TODAY@" "@VERSION@" "The PCI Utilities"
 .IX setpci
 .SH NAME
 setpci \- configure PCI devices
 .IX setpci
 .SH NAME
 setpci \- configure PCI devices
@@ -15,7 +15,15 @@ is a utility for querying and configuring PCI devices.
 
 All numbers are entered in hexadecimal notation.
 
 
 All numbers are entered in hexadecimal notation.
 
+Root privileges are necessary for almost all operations, excluding reads
+of the standard header of the configuration space on some operating systems.
+Please see
+.BR lspci(8)
+for details on access rights.
+
 .SH OPTIONS
 .SH OPTIONS
+
+.SS General options
 .TP
 .B -v
 Tells
 .TP
 .B -v
 Tells
@@ -31,7 +39,7 @@ where it's uncertain whether the device in question is present in the machine
 or not.
 .TP
 .B -D
 or not.
 .TP
 .B -D
-`Demo mode' -- simulate configuration space accesses instead of really doing them.
+`Demo mode' -- don't write anything to the configuration registers.
 It's useful to try
 .B setpci -vD
 to see what your complex sequence of
 It's useful to try
 .B setpci -vD
 to see what your complex sequence of
@@ -41,24 +49,53 @@ operations does before you actually execute it.
 .B --version
 Shows
 .I setpci
 .B --version
 Shows
 .I setpci
-version. This option should be used standalone.
+version. This option should be used stand-alone.
 
 
+.SS PCI access options
+.PP
+The PCI utilities use the PCI library to talk to PCI devices (see
+\fBpcilib\fP(7) for details). You can use the following options to
+influence its behavior:
+.TP
+.B -A <method>
+The library supports a variety of methods to access the PCI hardware.
+By default, it uses the first access method available, but you can use
+this option to override this decision. See \fB-A help\fP for a list of
+available methods and their descriptions.
+.TP
+.B -O <param>=<value>
+The behavior of the library is controlled by several named parameters.
+This option allows to set the value of any of the parameters. Use \fB-O help\fP
+for a list of known parameters and their default values.
+.TP
+.B -H1
+Use direct hardware access via Intel configuration mechanism 1.
+(This is a shorthand for \fB-A intel-conf1\fP.)
+.TP
+.B -H2
+Use direct hardware access via Intel configuration mechanism 2.
+(This is a shorthand for \fB-A intel-conf2\fP.)
+.TP
+.B -G
+Increase debug level of the library.
 
 .SH DEVICE SELECTION
 .PP
 Before each sequence of operations you need to select which devices you wish that
 operation to affect.
 .TP
 
 .SH DEVICE SELECTION
 .PP
 Before each sequence of operations you need to select which devices you wish that
 operation to affect.
 .TP
-.B -s [[<bus>]:][<slot>][.[<func>]]
-Select devices in specified bus, slot and function. Each component of the device
-address can be omitted or set as "*" meaning "any value". All numbers are
+.B -s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]
+Show only devices in the specified domain (in case your machine has several host bridges,
+they can either share a common bus number space or each of them can address a PCI domain
+of its own; domains are numbered from 0 to ffff), bus (0 to ff), slot (0 to 1f) and function (0 to 7).
+Each component of the device address can be omitted or set to "*", both meaning "any value". All numbers are
 hexadecimal.  E.g., "0:" means all devices on bus 0, "0" means all functions of device 0
 hexadecimal.  E.g., "0:" means all devices on bus 0, "0" means all functions of device 0
-on any bus, "0.3" selects third function of device 0 on all busses and ".4" selects only
-fourth function of each device.
+on any bus, "0.3" selects third function of device 0 on all buses and ".4" shows only
+the fourth function of each device.
 .TP
 .B -d [<vendor>]:[<device>]
 Select devices with specified vendor and device ID. Both ID's are given in
 .TP
 .B -d [<vendor>]:[<device>]
 Select devices with specified vendor and device ID. Both ID's are given in
-hexadecimal and may be omitted or given as "*" meaning "any value".
+hexadecimal and may be omitted or given as "*", both meaning "any value".
 
 .SH OPERATIONS
 .PP
 
 .SH OPERATIONS
 .PP
@@ -89,10 +126,12 @@ to be changed to values of the corresponding bits in the
 .SH REGISTER NAMES
 .PP
 .B setpci
 .SH REGISTER NAMES
 .PP
 .B setpci
-knows the following configuration register names. See PCI bus specs for their precise
+knows the following configuration register names. See PCI bus specifications for their precise
 meaning or consult
 meaning or consult
+.B header.h
+or
 .B /usr/include/linux/pci.h
 .B /usr/include/linux/pci.h
-for few comments.
+for a couple of comments.
 .PP
 .nf
 VENDOR_ID
 .PP
 .nf
 VENDOR_ID
@@ -160,56 +199,9 @@ CB_SUBSYSTEM_VENDOR_ID
 CB_SUBSYSTEM_ID
 CB_LEGACY_MODE_BASE
 
 CB_SUBSYSTEM_ID
 CB_LEGACY_MODE_BASE
 
-.SH PCILIB OPTIONS
-The PCI utilities use PCILIB (a portable library providing platform-independent
-functions for PCI configuration space access) to talk to the PCI cards. The following
-options control parameters of the library, especially what access method it uses.
-By default, PCILIB uses the first available access method and displays no debugging
-messages. Each switch is accompanied by a list of hardware/software configurations
-it's supported in.
-
-.TP
-.B -P <dir>
-Force use of Linux /proc/bus/pci style configuration access, using
-.B <dir>
-instead of /proc/bus/pci. (Linux 2.1 or newer only)
-.TP
-.B -H1
-Use direct hardware access via Intel configuration mechanism 1. (i386 and compatible only)
-.TP
-.B -H2
-Use direct hardware access via Intel configuration mechanism 2. Warning: This method
-is able to address only first 16 devices on any bus and it seems to be very
-unrealiable in many cases. (i386 and compatible only)
-.TP
-.B -S
-Use PCI access syscalls. (Linux on Alpha and UltraSparc only)
-.TP
-.B -F <file>
-Extract all information from given file containing output of lspci -x. This is very
-useful for analysis of user-supplied bug reports, because you can display the
-hardware configuration in any way you want without disturbing the user with
-requests for more dumps. (All systems)
-.TP
-.B -G
-Increase debug level of the library. (All systems)
-
-.SH EXAMPLES
-.PP
-`setpci -d *:* latency_timer=40' sets the latency timer to 64 (40 hexadecimal).
-.PP
-`setpci -s 0 device_id vendor_id' lists ID's of devices in slot 0 in all busses.
-.PP
-`setpci -s 12:3.4 3c.l=1,2,3' writes longword 1 to register 3c, 2 to register 3d
-and 3 to register 3e of device at bus 12, slot 3, function 4.
-.PP
-`setpci -s 13:8.4 40.b=50:d0,04:0c,ff' works on bus 13, device 8, function
-4: turns bit 7 off and bits 6 and 4 on in the byte register 40; turns
-bit 3 off and bit 2 on in the byte register 41; sets byte register
-42 to ff.
-
 .SH SEE ALSO
 .SH SEE ALSO
-.BR lspci (8)
+.BR lspci (8),
+.BR pcilib (7)
 
 .SH AUTHOR
 
 .SH AUTHOR
-The Linux PCI Utilities are maintained by Martin Mares <mj@ucw.cz>.
+The PCI Utilities are maintained by Martin Mares <mj@ucw.cz>.