X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=setpci.man;h=9e4e1d8a6c44c2963b33449cd1c8ee4dddb191ea;hb=fe0df5d38149ae4303300eb429dd501a8bd7da3b;hp=6c1ad8c84f99adab168a6d0f7a437062f5690e7a;hpb=4f27ac73f86caadc0c96d178e262da06c657d46c;p=pciutils.git diff --git a/setpci.man b/setpci.man index 6c1ad8c..9e4e1d8 100644 --- a/setpci.man +++ b/setpci.man @@ -1,5 +1,4 @@ .TH setpci 8 "@TODAY@" "@VERSION@" "The PCI Utilities" -.IX setpci .SH NAME setpci \- configure PCI devices .SH SYNOPSIS @@ -46,6 +45,13 @@ to verify that your complex sequence of .B setpci operations does what you think it should do. .TP +.B -r +Avoids bus scan if each operation selects a specific device (uses the +.B -s +selector with specific domain, bus, slot, and function). This is faster, +but if the device does not exist, it fails instead of matching an empty +set of devices. +.TP .B --version Show .I setpci @@ -72,7 +78,7 @@ available methods and their descriptions. .TP .B -O = 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 +This option allows one 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 @@ -100,9 +106,10 @@ hexadecimal. E.g., "0:" means all devices on bus 0, "0" means all functions of on any bus, "0.3" selects third function of device 0 on all buses and ".4" matches 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 "*", both meaning "any value". +.B -d []:[][:[:]] +Select devices with specified vendor, device, class ID, and programming interface. +The ID's are given in hexadecimal and may be omitted or given as "*", both meaning +"any value". The class ID can contain "x" characters which stand for "any digit". .PP When .B -s @@ -115,7 +122,7 @@ options of the same kind are specified, the rightmost one overrides the others. .PP There are two kinds of operations: reads and writes. To read a register, just specify its name. Writes have the form -.IR name = value , value ... +.IR name = value , value ...\& where each .I value is either a hexadecimal number or an expression of type @@ -124,7 +131,7 @@ where both .I data and .I mask -are hexdecimal numbers. In the latter case, only the bits corresponding to binary +are hexadecimal numbers. In the latter case, only the bits corresponding to binary ones in the \fImask\fP are changed (technically, this is a read-modify-write operation). .PP @@ -148,10 +155,13 @@ identifier of the capability in hexadecimal. Each of the previous formats can be followed by \fB+offset\fP to add an offset (a hex number) to the address. This feature can be useful for addressing of registers living within a capability, or to modify parts of standard registers. -\IP \(bu -Finally, you should append a width specifier \fB.B\fP, \fB.W\fP, or \fB.L\fP to choose -how many bytes (1, 2, or 4) should be transferred. The width can be omitted if you are -accessing a named register whose width is well known. +.IP \(bu +To choose how many bytes (1, 2, or 4) should be transferred, you should append a width +specifier \fB.B\fP, \fB.W\fP, or \fB.L\fP. The width can be omitted if you are +referring to a register by its name and the width of the register is well known. +.IP \(bu +Finally, if a capability exists multiple times you can choose which one to target using +\fB@number\fP. Indexing starts at 0. .PP All names of registers and width specifiers are case-insensitive.