On Mon, 18 Jun 2018 13:36:35 -0600 Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote: > When specifying PCI devices on the kernel command line using a > BDF, the bus numbers can change when adding or replacing a device, > changing motherboard firmware, or applying kernel parameters like > pci=assign-buses. When this happens, it is usually undesirable to > apply whatever command line tweak 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>:<slot>.<func>[/<slot>.<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@xxxxxxxxxxxx> > Reviewed-by: Stephen Bates <sbates@xxxxxxxxxxxx> > Acked-by: Christian König <christian.koenig@xxxxxxx> > --- > Documentation/admin-guide/kernel-parameters.txt | 8 +- > drivers/pci/pci.c | 120 ++++++++++++++++++++---- > 2 files changed, 106 insertions(+), 22 deletions(-) Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>