Re: [PATCH v3 2/3] PCI: Allow specifying devices using a base bus and path of devfns
From: Alex Williamson
Date: Mon Jun 18 2018 - 17:55:11 EST
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>