aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLogan Gunthorpe <logang@deltatee.com>2018-07-30 10:18:38 -0600
committerBjorn Helgaas <bhelgaas@google.com>2018-08-09 16:24:39 -0500
commit45db33709ccc7330c55fc6751c96468de407f2ac (patch)
tree157e69c9e097e133761083b632d1458ed0bd5464 /Documentation
parentPCI: Make specifying PCI devices in kernel parameters reusable (diff)
downloadlinux-dev-45db33709ccc7330c55fc6751c96468de407f2ac.tar.xz
linux-dev-45db33709ccc7330c55fc6751c96468de407f2ac.zip
PCI: Allow specifying devices using a base bus and path of devfns
When specifying PCI devices on the kernel command line using a bus/device/function address, bus numbers can change when adding or replacing a device, changing motherboard firmware, or applying kernel parameters like "pci=assign-buses". When bus numbers change, it's likely the command line tweak will be applied to the wrong device. Therefore, it is useful to be able to specify devices with a base bus number and the path of devfns needed to get to it, similar to the "device scope" structure in the Intel VT-d spec, Section 8.3.1. Thus, we add an option to specify devices in the following format: [<domain>:]<bus>:<device>.<func>[/<device>.<func>]* The path can be any segment within the PCI hierarchy of any length and determined through the use of 'lspci -t'. When specified this way, it is less likely that a renumbered bus will result in a valid device specification and the tweak won't be applied to the wrong device. Signed-off-by: Logan Gunthorpe <logang@deltatee.com> [bhelgaas: use "device" instead of "slot" in documentation since that's the usual language in the PCI specs] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Stephen Bates <sbates@raithlin.com> Reviewed-by: Alex Williamson <alex.williamson@redhat.com> Acked-by: Christian König <christian.koenig@amd.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/admin-guide/kernel-parameters.txt8
1 files changed, 6 insertions, 2 deletions
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index ab36fb34ed01..4fa4c9ff04ae 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -3000,7 +3000,7 @@
or a set of devices (<pci_dev>). These are
specified in one of the following formats:
- [<domain>:]<bus>:<device>.<func>
+ [<domain>:]<bus>:<dev>.<func>[/<dev>.<func>]*
pci:<vendor>:<device>[:<subvendor>:<subdevice>]
Note: the first format specifies a PCI
@@ -3009,7 +3009,11 @@
firmware changes, or due to changes caused
by other kernel parameters. If the
domain is left unspecified, it is
- taken to be zero. The second format
+ taken to be zero. Optionally, a path
+ to a device through multiple device/function
+ addresses can be specified after the base
+ address (this is more robust against
+ renumbering issues). The second format
selects devices using IDs from the
configuration space which may match multiple
devices in the system.