~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/arch/s390/pci.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 
  3 =========
  4 S/390 PCI
  5 =========
  6 
  7 Authors:
  8         - Pierre Morel
  9 
 10 Copyright, IBM Corp. 2020
 11 
 12 
 13 Command line parameters and debugfs entries
 14 ===========================================
 15 
 16 Command line parameters
 17 -----------------------
 18 
 19 * nomio
 20 
 21   Do not use PCI Mapped I/O (MIO) instructions.
 22 
 23 * norid
 24 
 25   Ignore the RID field and force use of one PCI domain per PCI function.
 26 
 27 debugfs entries
 28 ---------------
 29 
 30 The S/390 debug feature (s390dbf) generates views to hold various debug results in sysfs directories of the form:
 31 
 32  * /sys/kernel/debug/s390dbf/pci_*/
 33 
 34 For example:
 35 
 36   - /sys/kernel/debug/s390dbf/pci_msg/sprintf
 37     Holds messages from the processing of PCI events, like machine check handling
 38     and setting of global functionality, like UID checking.
 39 
 40   Change the level of logging to be more or less verbose by piping
 41   a number between 0 and 6 to  /sys/kernel/debug/s390dbf/pci_*/level. For
 42   details, see the documentation on the S/390 debug feature at
 43   Documentation/arch/s390/s390dbf.rst.
 44 
 45 Sysfs entries
 46 =============
 47 
 48 Entries specific to zPCI functions and entries that hold zPCI information.
 49 
 50 * /sys/bus/pci/slots/XXXXXXXX
 51 
 52   The slot entries are set up using the function identifier (FID) of the
 53   PCI function. The format depicted as XXXXXXXX above is 8 hexadecimal digits
 54   with 0 padding and lower case hexadecimal digits.
 55 
 56   - /sys/bus/pci/slots/XXXXXXXX/power
 57 
 58   A physical function that currently supports a virtual function cannot be
 59   powered off until all virtual functions are removed with:
 60   echo 0 > /sys/bus/pci/devices/XXXX:XX:XX.X/sriov_numvf
 61 
 62 * /sys/bus/pci/devices/XXXX:XX:XX.X/
 63 
 64   - function_id
 65     A zPCI function identifier that uniquely identifies the function in the Z server.
 66 
 67   - function_handle
 68     Low-level identifier used for a configured PCI function.
 69     It might be useful for debugging.
 70 
 71   - pchid
 72     Model-dependent location of the I/O adapter.
 73 
 74   - pfgid
 75     PCI function group ID, functions that share identical functionality
 76     use a common identifier.
 77     A PCI group defines interrupts, IOMMU, IOTLB, and DMA specifics.
 78 
 79   - vfn
 80     The virtual function number, from 1 to N for virtual functions,
 81     0 for physical functions.
 82 
 83   - pft
 84     The PCI function type
 85 
 86   - port
 87     The port corresponds to the physical port the function is attached to.
 88     It also gives an indication of the physical function a virtual function
 89     is attached to.
 90 
 91   - uid
 92     The user identifier (UID) may be defined as part of the machine
 93     configuration or the z/VM or KVM guest configuration. If the accompanying
 94     uid_is_unique attribute is 1 the platform guarantees that the UID is unique
 95     within that instance and no devices with the same UID can be attached
 96     during the lifetime of the system.
 97 
 98   - uid_is_unique
 99     Indicates whether the user identifier (UID) is guaranteed to be and remain
100     unique within this Linux instance.
101 
102   - pfip/segmentX
103     The segments determine the isolation of a function.
104     They correspond to the physical path to the function.
105     The more the segments are different, the more the functions are isolated.
106 
107 Enumeration and hotplug
108 =======================
109 
110 The PCI address consists of four parts: domain, bus, device and function,
111 and is of this form: DDDD:BB:dd.f
112 
113 * When not using multi-functions (norid is set, or the firmware does not
114   support multi-functions):
115 
116   - There is only one function per domain.
117 
118   - The domain is set from the zPCI function's UID as defined during the
119     LPAR creation.
120 
121 * When using multi-functions (norid parameter is not set),
122   zPCI functions are addressed differently:
123 
124   - There is still only one bus per domain.
125 
126   - There can be up to 256 functions per bus.
127 
128   - The domain part of the address of all functions for
129     a multi-Function device is set from the zPCI function's UID as defined
130     in the LPAR creation for the function zero.
131 
132   - New functions will only be ready for use after the function zero
133     (the function with devfn 0) has been enumerated.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php