X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=setpci.man;h=5dda2480c96bf7b3eb5d2b0807a659ea2ede8846;hb=cce2caac70e8052540e783de03001101c38d937c;hp=e316b656d2995575b34b45bd4e87dc81562090df;hpb=5a258860efc02f5c135ad2b393cae6b864a195dc;p=pciutils.git diff --git a/setpci.man b/setpci.man index e316b65..5dda248 100644 --- a/setpci.man +++ b/setpci.man @@ -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,28 +31,36 @@ 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 .B setpci operations does before you actually execute it. +.TP +.B --version +Shows +.I setpci +version. This option should be used stand-alone. + .SH DEVICE SELECTION .PP Before each sequence of operations you need to select which devices you wish that operation to affect. .TP -.B -s [[]:][][.[]] -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 [[[[]:]]:][][.[]] +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 []:[] 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 @@ -73,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 @@ -162,7 +172,7 @@ it's supported in. .TP .B -P -Use Linux 2.1 style configuration access to directory +Force use of Linux /proc/bus/pci style configuration access, using .B instead of /proc/bus/pci. (Linux 2.1 or newer only) .TP @@ -172,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 Extract all information from given file containing output of lspci -x. This is very @@ -194,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 . +The PCI Utilities are maintained by Martin Mares .