What: /sys/bus/pci/drivers/.../bind Date: December 2003 Contact: linux-pci@vger.kernel.org Description: Writing a device location to this file will cause the driver to attempt to bind to the device found at this location. This is useful for overriding default bindings. The format for the location is: DDDD:BB:DD.F. That is Domain:Bus:Device.Function and is the same as found in /sys/bus/pci/devices/. For example: # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind (Note: kernels before 2.6.28 may require echo -n). What: /sys/bus/pci/drivers/.../unbind Date: December 2003 Contact: linux-pci@vger.kernel.org Description: Writing a device location to this file will cause the driver to attempt to unbind from the device found at this location. This may be useful when overriding default bindings. The format for the location is: DDDD:BB:DD.F. That is Domain:Bus:Device.Function and is the same as found in /sys/bus/pci/devices/. For example: # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind (Note: kernels before 2.6.28 may require echo -n). What: /sys/bus/pci/drivers/.../new_id Date: December 2003 Contact: linux-pci@vger.kernel.org Description: Writing a device ID to this file will attempt to dynamically add a new device ID to a PCI device driver. This may allow the driver to support more hardware than was included in the driver's static device ID support table at compile time. The format for the device ID is: VVVV DDDD SVVV SDDD CCCC MMMM PPPP. That is Vendor ID, Device ID, Subsystem Vendor ID, Subsystem Device ID, Class, Class Mask, and Private Driver Data. The Vendor ID and Device ID fields are required, the rest are optional. Upon successfully adding an ID, the driver will probe for the device and attempt to bind to it. For example: # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id What: /sys/bus/pci/drivers/.../remove_id Date: February 2009 Contact: Chris Wright Description: Writing a device ID to this file will remove an ID that was dynamically added via the new_id sysfs entry. The format for the device ID is: VVVV DDDD SVVV SDDD CCCC MMMM. That is Vendor ID, Device ID, Subsystem Vendor ID, Subsystem Device ID, Class, and Class Mask. The Vendor ID and Device ID fields are required, the rest are optional. After successfully removing an ID, the driver will no longer support the device. This is useful to ensure auto probing won't match the driver to the device. For example: # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id What: /sys/bus/pci/rescan Date: January 2009 Contact: Linux PCI developers Description: Writing a non-zero value to this attribute will force a rescan of all PCI buses in the system, and re-discover previously removed devices. Depends on CONFIG_HOTPLUG. What: /sys/bus/pci/devices/.../remove Date: January 2009 Contact: Linux PCI developers Description: Writing a non-zero value to this attribute will hot-remove the PCI device and any of its children. Depends on CONFIG_HOTPLUG. What: /sys/bus/pci/devices/.../rescan Date: January 2009 Contact: Linux PCI developers Description: Writing a non-zero value to this attribute will force a rescan of the device's parent bus and all child buses, and re-discover devices removed earlier from this part of the device tree. Depends on CONFIG_HOTPLUG. What: /sys/bus/pci/devices/.../reset Date: July 2009 Contact: Michael S. Tsirkin Description: Some devices allow an individual function to be reset without affecting other functions in the same device. For devices that have this support, a file named reset will be present in sysfs. Writing 1 to this file will perform reset. What: /sys/bus/pci/devices/.../vpd Date: February 2008 Contact: Ben Hutchings Description: A file named vpd in a device directory will be a binary file containing the Vital Product Data for the device. It should follow the VPD format defined in PCI Specification 2.1 or 2.2, but users should consider that some devices may have malformatted data. If the underlying VPD has a writable section then the corresponding section of this file will be writable. What: /sys/bus/pci/devices/.../virtfnN Date: March 2009 Contact: Yu Zhao Description: This symbolic link appears when hardware supports the SR-IOV capability and the Physical Function driver has enabled it. The symbolic link points to the PCI device sysfs entry of the Virtual Function whose index is N (0...MaxVFs-1). What: /sys/bus/pci/devices/.../dep_link Date: March 2009 Contact: Yu Zhao Description: This symbolic link appears when hardware supports the SR-IOV capability and the Physical Function driver has enabled it, and this device has vendor specific dependencies with others. The symbolic link points to the PCI device sysfs entry of Physical Function this device depends on. What: /sys/bus/pci/devices/.../physfn Date: March 2009 Contact: Yu Zhao Description: This symbolic link appears when a device is a Virtual Function. The symbolic link points to the PCI device sysfs entry of the Physical Function this device associates with. What: /sys/bus/pci/slots/... Date: April 2005 (possibly older) KernelVersion: 2.6.12 (possibly older) Contact: linux-pci@vger.kernel.org Description: When the appropriate driver is loaded, it will create a directory per claimed physical PCI slot in /sys/bus/pci/slots/. The names of these directories are specific to the driver, which in turn, are specific to the platform, but in general, should match the label on the machine's physical chassis. The drivers that can create slot directories include the PCI hotplug drivers, and as of 2.6.27, the pci_slot driver. The slot directories contain, at a minimum, a file named 'address' which contains the PCI bus:device:function tuple. Other files may appear as well, but are specific to the driver. What: /sys/bus/pci/slots/.../function[0-7] Date: March 2010 KernelVersion: 2.6.35 Contact: linux-pci@vger.kernel.org Description: If PCI slot directories (as described above) are created, and the physical slot is actually populated with a device, symbolic links in the slot directory pointing to the device's PCI functions are created as well. What: /sys/bus/pci/devices/.../slot Date: March 2010 KernelVersion: 2.6.35 Contact: linux-pci@vger.kernel.org Description: If PCI slot directories (as described above) are created, a symbolic link pointing to the slot directory will be created as well. What: /sys/bus/pci/slots/.../module Date: June 2009 Contact: linux-pci@vger.kernel.org Description: This symbolic link points to the PCI hotplug controller driver module that manages the hotplug slot.