OSDN Git Service

s390/pci: expose UID uniqueness guarantee
authorNiklas Schnelle <schnelle@linux.ibm.com>
Wed, 24 Feb 2021 10:29:36 +0000 (11:29 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Mon, 5 Apr 2021 09:30:57 +0000 (11:30 +0200)
commit408f2c9c15682fc21b645fdec1f726492e235c4b
treebea1b7656319b70e404c1c3ca3d2c810ecfab3ae
parent652d40b2f8bec14957295f999e3d329c3b53390f
s390/pci: expose UID uniqueness guarantee

On s390 each PCI device has a user-defined ID (UID) exposed under
/sys/bus/pci/devices/<dev>/uid. This ID was designed to serve as the PCI
device's primary index and to match the device within Linux to the
device configured in the hypervisor. To serve as a primary identifier
the UID must be unique within the Linux instance, this is guaranteed by
the platform if and only if the UID Uniqueness Checking flag is set
within the CLP List PCI Functions response.

While the UID has been exposed to userspace since commit ac4995b9d570
("s390/pci: add some new arch specific pci attributes") whether or not
the platform guarantees its uniqueness for the lifetime of the Linux
instance while defined is not visible from userspace. Remedy this by
exposing this as a per device attribute at

/sys/bus/pci/devices/<dev>/uid_is_unique

Keeping this a per device attribute allows for maximum flexibility if we
ever end up with some devices not having a UID or not enjoying the
guaranteed uniqueness.

Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Reviewed-by: Viktor Mihajlovski <mihajlov@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Documentation/s390/pci.rst
arch/s390/pci/pci_sysfs.c