Annotation of embedaddon/pciutils/setpci.man, revision 1.1

1.1     ! misho       1: .TH setpci 8 "@TODAY@" "@VERSION@" "The PCI Utilities"
        !             2: .IX setpci
        !             3: .SH NAME
        !             4: setpci \- configure PCI devices
        !             5: .SH SYNOPSIS
        !             6: .B setpci
        !             7: .RB [ options ]
        !             8: .B devices
        !             9: .BR operations ...
        !            10: 
        !            11: .SH DESCRIPTION
        !            12: .PP
        !            13: .B setpci
        !            14: is a utility for querying and configuring PCI devices.
        !            15: 
        !            16: All numbers are entered in hexadecimal notation.
        !            17: 
        !            18: Root privileges are necessary for almost all operations, excluding reads
        !            19: of the standard header of the configuration space on some operating systems.
        !            20: Please see
        !            21: .BR lspci(8)
        !            22: for details on access rights.
        !            23: 
        !            24: .SH OPTIONS
        !            25: 
        !            26: .SS General options
        !            27: .TP
        !            28: .B -v
        !            29: Tells
        !            30: .I setpci
        !            31: to be verbose and display detailed information about configuration space accesses.
        !            32: .TP
        !            33: .B -f
        !            34: Tells
        !            35: .I setpci
        !            36: not to complain when there's nothing to do (when no devices are selected).
        !            37: This option is intended for use in widely-distributed configuration scripts
        !            38: where it's uncertain whether the device in question is present in the machine
        !            39: or not.
        !            40: .TP
        !            41: .B -D
        !            42: `Demo mode' -- don't write anything to the configuration registers.
        !            43: It's useful to try
        !            44: .B setpci -vD
        !            45: to verify that your complex sequence of
        !            46: .B setpci
        !            47: operations does what you think it should do.
        !            48: .TP
        !            49: .B --version
        !            50: Show
        !            51: .I setpci
        !            52: version. This option should be used stand-alone.
        !            53: .TP
        !            54: .B --help
        !            55: Show detailed help on available options. This option should be used stand-alone.
        !            56: .TP
        !            57: .B --dumpregs
        !            58: Show a list of all known PCI registers and capabilities. This option should be
        !            59: used stand-alone.
        !            60: 
        !            61: .SS PCI access options
        !            62: .PP
        !            63: The PCI utilities use the PCI library to talk to PCI devices (see
        !            64: \fBpcilib\fP(7) for details). You can use the following options to
        !            65: influence its behavior:
        !            66: .TP
        !            67: .B -A <method>
        !            68: The library supports a variety of methods to access the PCI hardware.
        !            69: By default, it uses the first access method available, but you can use
        !            70: this option to override this decision. See \fB-A help\fP for a list of
        !            71: available methods and their descriptions.
        !            72: .TP
        !            73: .B -O <param>=<value>
        !            74: The behavior of the library is controlled by several named parameters.
        !            75: This option allows to set the value of any of the parameters. Use \fB-O help\fP
        !            76: for a list of known parameters and their default values.
        !            77: .TP
        !            78: .B -H1
        !            79: Use direct hardware access via Intel configuration mechanism 1.
        !            80: (This is a shorthand for \fB-A intel-conf1\fP.)
        !            81: .TP
        !            82: .B -H2
        !            83: Use direct hardware access via Intel configuration mechanism 2.
        !            84: (This is a shorthand for \fB-A intel-conf2\fP.)
        !            85: .TP
        !            86: .B -G
        !            87: Increase debug level of the library.
        !            88: 
        !            89: .SH DEVICE SELECTION
        !            90: .PP
        !            91: Before each sequence of operations you need to select which devices you wish that
        !            92: operation to affect.
        !            93: .TP
        !            94: .B -s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]
        !            95: Consider only devices in the specified domain (in case your machine has several host bridges,
        !            96: they can either share a common bus number space or each of them can address a PCI domain
        !            97: of its own; domains are numbered from 0 to ffff), bus (0 to ff), slot (0 to 1f) and function (0 to 7).
        !            98: Each component of the device address can be omitted or set to "*", both meaning "any value". All numbers are
        !            99: hexadecimal.  E.g., "0:" means all devices on bus 0, "0" means all functions of device 0
        !           100: on any bus, "0.3" selects third function of device 0 on all buses and ".4" matches only
        !           101: the fourth function of each device.
        !           102: .TP
        !           103: .B -d [<vendor>]:[<device>]
        !           104: Select devices with specified vendor and device ID. Both ID's are given in
        !           105: hexadecimal and may be omitted or given as "*", both meaning "any value".
        !           106: .PP
        !           107: When
        !           108: .B -s
        !           109: and
        !           110: .B -d
        !           111: are combined, only devices that match both criteria are selected. When multiple
        !           112: options of the same kind are specified, the rightmost one overrides the others.
        !           113: 
        !           114: .SH OPERATIONS
        !           115: .PP
        !           116: There are two kinds of operations: reads and writes. To read a register, just specify
        !           117: its name. Writes have the form
        !           118: .IR name = value , value ...
        !           119: where each
        !           120: .I value
        !           121: is either a hexadecimal number or an expression of type
        !           122: .IR data : mask
        !           123: where both
        !           124: .I data
        !           125: and
        !           126: .I mask
        !           127: are hexadecimal numbers. In the latter case, only the bits corresponding to binary
        !           128: ones in the \fImask\fP are changed (technically, this is a read-modify-write operation).
        !           129: 
        !           130: .PP
        !           131: There are several ways how to identity a register:
        !           132: .IP \(bu
        !           133: Tell its address in hexadecimal.
        !           134: .IP \(bu
        !           135: Spell its name. Setpci knows the names of all registers in the standard configuration
        !           136: headers. Use `\fBsetpci --dumpregs\fP' to get the complete list.
        !           137: See PCI bus specifications for the precise meaning of these registers or consult
        !           138: \fBheader.h\fP or \fB/usr/include/pci/pci.h\fP for a brief sketch.
        !           139: .IP \(bu
        !           140: If the register is a part of a PCI capability, you can specify the name of the
        !           141: capability to get the address of its first register. See the names starting with
        !           142: `CAP_' or `ECAP_' in the \fB--dumpregs\fP output.
        !           143: .IP \(bu
        !           144: If the name of the capability is not known to \fBsetpci\fP, you can refer to it
        !           145: by its number in the form CAP\fBid\fP or ECAP\fBid\fP, where \fBid\fP is the numeric
        !           146: identifier of the capability in hexadecimal.
        !           147: .IP \(bu
        !           148: Each of the previous formats can be followed by \fB+offset\fP to add an offset
        !           149: (a hex number) to the address. This feature can be useful for addressing of registers
        !           150: living within a capability, or to modify parts of standard registers.
        !           151: .IP \(bu
        !           152: Finally, you should append a width specifier \fB.B\fP, \fB.W\fP, or \fB.L\fP to choose
        !           153: how many bytes (1, 2, or 4) should be transferred. The width can be omitted if you are
        !           154: referring to a register by its name and the width of the register is well known.
        !           155: 
        !           156: .PP
        !           157: All names of registers and width specifiers are case-insensitive.
        !           158: 
        !           159: .SH
        !           160: EXAMPLES
        !           161: 
        !           162: .IP COMMAND
        !           163: asks for the word-sized command register.
        !           164: .IP 4.w
        !           165: is a numeric address of the same register.
        !           166: .IP COMMAND.l
        !           167: asks for a 32-bit word starting at the location of the command register,
        !           168: i.e., the command and status registers together.
        !           169: .IP VENDOR_ID+1.b
        !           170: specifies the upper byte of the vendor ID register (remember, PCI is little-endian).
        !           171: .IP CAP_PM+2.w
        !           172: corresponds to the second word of the power management capability.
        !           173: .IP ECAP108.l
        !           174: asks for the first 32-bit word of the extended capability with ID 0x108.
        !           175: 
        !           176: .SH SEE ALSO
        !           177: .BR lspci (8),
        !           178: .BR pcilib (7)
        !           179: 
        !           180: .SH AUTHOR
        !           181: The PCI Utilities are maintained by Martin Mares <mj@ucw.cz>.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>