]> mj.ucw.cz Git - pciutils.git/blobdiff - setpci.man
Allow header type 1 for any bridge.
[pciutils.git] / setpci.man
index 449dd6f284ff39d37d41bc8eee978212a4c68899..5dda2480c96bf7b3eb5d2b0807a659ea2ede8846 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
@@ -13,11 +13,6 @@ setpci \- configure PCI devices
 .B setpci
 is a utility for querying and configuring PCI devices.
 
-To make use of all the features of this program, you need to have Linux kernel
-2.1.82 or newer which supports the /proc/bus/pci interface. With older kernels,
-the PCI utilities have to use direct hardware access which is available
-only to root and it suffers from numerous race conditions and other problems.
-
 All numbers are entered in hexadecimal notation.
 
 .SH OPTIONS
@@ -36,7 +31,7 @@ where it's uncertain whether the device in question is present in the machine
 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
@@ -46,7 +41,7 @@ operations does before you actually execute it.
 .B --version
 Shows
 .I setpci
-version. This option should be used standalone.
+version. This option should be used stand-alone.
 
 
 .SH DEVICE SELECTION
@@ -54,16 +49,18 @@ version. This option should be used standalone.
 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
-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
-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
@@ -79,10 +76,17 @@ To set a register, write
 .BR reg = values
 where
 .B reg
-is the same you would use to query the register and
+is the same as you would use to query the register and
 .B values
 is a comma-separated list of values you want to write starting with the given
-address.
+address. Each value to be written can be specified either as a hexadecimal number
+or as a
+.BR bits : mask
+pair which causes the bits corresponding to binary ones in the
+.B mask
+to be changed to values of the corresponding bits in the
+.B bits
+.
 
 .SH REGISTER NAMES
 .PP
@@ -168,7 +172,7 @@ it's supported in.
 
 .TP
 .B -P <dir>
-Use Linux 2.1 style configuration access to directory
+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
@@ -178,10 +182,7 @@ Use direct hardware access via Intel configuration mechanism 1. (i386 and compat
 .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)
+unreliable in many cases. (i386 and compatible only)
 .TP
 .B -F <file>
 Extract all information from given file containing output of lspci -x. This is very
@@ -200,9 +201,14 @@ Increase debug level of the library. (All systems)
 .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
 .BR lspci (8)
 
 .SH AUTHOR
-The Linux PCI Utilities are maintained by Martin Mares <mj@suse.cz>.
+The PCI Utilities are maintained by Martin Mares <mj@ucw.cz>.