.\" $NetBSD: pcictl.8,v 1.20 2019/11/30 02:47:14 riastradh Exp $ .\" .\" Copyright 2001 Wasabi Systems, Inc. .\" All rights reserved. .\" .\" Written by Jason R. Thorpe for Wasabi Systems, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project by .\" Wasabi Systems, Inc. .\" 4. The name of Wasabi Systems, Inc. may not be used to endorse .\" or promote products derived from this software without specific prior .\" written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .Dd September 23, 2016 .Dt PCICTL 8 .Os .Sh NAME .Nm pcictl .Nd a program to manipulate the PCI bus .Sh SYNOPSIS .Nm .Ar pcibus .Ar command .Oo .Ar arg Oo ... .Oc .Oc .Sh DESCRIPTION .Nm allows a user or system administrator to access various resources on a PCI bus. .Pp The following commands are available: .Pp .Cm list .Op Fl Nn .Op Fl b Ar bus .Op Fl d Ar device .Op Fl f Ar function .Pp List the devices in the PCI domain, either as names or, if .Fl n is given, as numbers. The bus, device, and function numbers may be specified by flags. Any locator not specified defaults to a wildcard, or may be explicitly wildcarded by specifying .Dq any . If .Fl N is given, the driver name for this PCI device will be listed if any driver is attached. .Pp .Cm dump .Op Fl b Ar bus .Fl d Ar device .Op Fl f Ar function .Pp Dump the PCI configuration space for the specified device located at the specified bus, device, and function. If the bus is not specified, it defaults to the bus number of the PCI bus specified on the command line. If the function is not specified, it defaults to 0. .Pp .Cm read .Op Fl b Ar bus .Fl d Ar device .Op Fl f Ar function .Ar reg .Pp Read the specified 32-bit aligned PCI configuration register and print it in hexadecimal to standard output. If the bus is not specified, it defaults to the bus number of the PCI bus specified on the command line. If the function is not specified, it defaults to 0. .Pp .Sy WARNING : .Nm .Cm read is a dangerous command that can damage hardware and panic the operating system, even though it appears to be a harmless read-only operation. It is meant as a diagnostic tool for experiments or to debug device drivers. Do not use it as a substitute for a device driver! .Pp .Cm write .Op Fl b Ar bus .Fl d Ar device .Op Fl f Ar function .Ar reg .Ar value .Pp Write the specified value to the specified 32-bit aligned PCI configuration register. If the bus is not specified, it defaults to the bus number of the PCI bus specified on the command line. If the function is not specified, it defaults to 0. .Pp .Sy WARNING : .Nm .Cm write is a dangerous command that can damage hardware and panic the operating system. It is meant as a diagnostic tool for experiments or to debug device drivers. Do not use it as a substitute for a device driver! .Sh FILES .Pa /dev/pci* - PCI bus device nodes .Sh EXAMPLES This shows all PCI devices on the system: .Pp .Dl pcictl pci0 list .Pp This shows all PCI devices on the system, including attached drivers: .Pp .Dl pcictl pci0 list -N .Sh SEE ALSO .Xr pci 3 , .Xr pci 4 , .Xr drvctl 8 .Sh HISTORY The .Nm command first appeared in .Nx 1.6 .