{"id":2219312,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2219312/?format=json","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/1.0/projects/28/?format=json","name":"Linux PCI development","link_name":"linux-pci","list_id":"linux-pci.vger.kernel.org","list_email":"linux-pci@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260402-uid_slot-v6-1-d5ea0a14ddb9@linux.ibm.com>","date":"2026-04-02T20:34:58","name":"[v6,1/2] docs: s390/pci: Improve and update PCI documentation","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"4e8865b29b960765f91712b7cb3e1d6fbe9898e4","submitter":{"id":78856,"url":"http://patchwork.ozlabs.org/api/1.0/people/78856/?format=json","name":"Niklas Schnelle","email":"schnelle@linux.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-pci/patch/20260402-uid_slot-v6-1-d5ea0a14ddb9@linux.ibm.com/mbox/","series":[{"id":498550,"url":"http://patchwork.ozlabs.org/api/1.0/series/498550/?format=json","date":"2026-04-02T20:34:57","name":"PCI: s390: Expose the UID as an arch specific PCI slot attribute","version":6,"mbox":"http://patchwork.ozlabs.org/series/498550/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2219312/checks/","tags":{},"headers":{"Return-Path":"\n <linux-pci+bounces-51775-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=C8bDglBw;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-51775-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com\n header.b=\"C8bDglBw\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=148.163.158.5","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=linux.ibm.com"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fmtt550Gdz1yCs\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 03 Apr 2026 07:36:13 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 705C4301BF6E\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  2 Apr 2026 20:35:20 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 9EBE63242D7;\n\tThu,  2 Apr 2026 20:35:19 +0000 (UTC)","from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com\n [148.163.158.5])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id CCC3B31F99E;\n\tThu,  2 Apr 2026 20:35:17 +0000 (UTC)","from pps.filterd (m0353725.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 632BZfBF3065805;\n\tThu, 2 Apr 2026 20:35:15 GMT","from ppma21.wdc07v.mail.ibm.com\n (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4d65dcnm1t-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 02 Apr 2026 20:35:14 +0000 (GMT)","from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1])\n\tby ppma21.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 632KLtEL022271;\n\tThu, 2 Apr 2026 20:35:14 GMT","from smtprelay06.dal12v.mail.ibm.com ([172.16.1.8])\n\tby ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4d6tanbkw9-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 02 Apr 2026 20:35:14 +0000","from smtpav05.dal12v.mail.ibm.com (smtpav05.dal12v.mail.ibm.com\n [10.241.53.104])\n\tby smtprelay06.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 632KZCN533227378\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tThu, 2 Apr 2026 20:35:12 GMT","from smtpav05.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 9A33558056;\n\tThu,  2 Apr 2026 20:35:12 +0000 (GMT)","from smtpav05.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id DF57958052;\n\tThu,  2 Apr 2026 20:35:09 +0000 (GMT)","from tuxmaker.boeblingen.de.ibm.com (unknown [9.87.85.9])\n\tby smtpav05.dal12v.mail.ibm.com (Postfix) with ESMTP;\n\tThu,  2 Apr 2026 20:35:09 +0000 (GMT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775162119; cv=none;\n b=BqCVJEEdJFbPSQzQ9kE7tLRBWVZq4psnhWqXEXD9TXNV+svF8Rvs5JbTlEaxMxg/Hgp/Zqvy6iLCFeWrhojmEneet51kR6Xn/hHhZjKofAWC/1oev5KjYbfkOAN0DX6vXnRhkhnf7SsutH1j7nxsOI5bFgvd0HcUwKJQ7jMS+kY=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775162119; c=relaxed/simple;\n\tbh=ZPeJMSL8ZluFfuH3mW+V/JFCdnUlTkPcHpFahh2C+DU=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=jslNdNJAUsBHOeohAWSbcFrGBtCF/EsmmJ7XaHHaTAdbUYJ069ZModsgNcNzB5EpqE8Eyx6iWr4ZeTrX9hde1txXjRUCZL75iwtEmHWBjuFgNxskFvGfxCRbDI/dxSceJ21oF3T8LaIs6vK/NvtwYVl4leCZnxBZHwqL6C47hc8=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com;\n spf=pass smtp.mailfrom=linux.ibm.com;\n dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com\n header.b=C8bDglBw; arc=none smtp.client-ip=148.163.158.5","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n\t:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=pp1; bh=gqpk4/\n\t68Zyh9d+Cg7ojDx5buqM2Vor0CLaPaDv8et8g=; b=C8bDglBwl0JaD+A4tCq17l\n\t2AtRej5UOJp2ExUpn6oya+Q8tXg/VVDQEaL6xdu8AYC+HFzG3/Sx3vOqN2NrjygP\n\t9J+9q7ATEa21B2jIOG3RfDC9K7X4b8gEzGZQcHi3A4YZGnLn4QpQ+91Vt5ESwi6t\n\tZz/2fDQrRdGrC+nkHA8kuY33tnbWPA4KStpta30Zt4QVT22lGTKx2xhSDJv9d/JC\n\tmiarHm8DrdCEHzIFFG89ySWJaNkB3fnNGFnhNrf5RzK/ERr2buxwff+dZbZsoKIV\n\tN2rAG5y7+pf2vwrluvc1pz4wwd5xZpaOkgzoeNe/375nSwEncsLgfSWfmt5vNMXQ\n\t==","From":"Niklas Schnelle <schnelle@linux.ibm.com>","Date":"Thu, 02 Apr 2026 22:34:58 +0200","Subject":"[PATCH v6 1/2] docs: s390/pci: Improve and update PCI\n documentation","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Message-Id":"<20260402-uid_slot-v6-1-d5ea0a14ddb9@linux.ibm.com>","References":"<20260402-uid_slot-v6-0-d5ea0a14ddb9@linux.ibm.com>","In-Reply-To":"<20260402-uid_slot-v6-0-d5ea0a14ddb9@linux.ibm.com>","To":"Bjorn Helgaas <bhelgaas@google.com>, Jonathan Corbet <corbet@lwn.net>,\n        Lukas Wunner <lukas@wunner.de>, Shuah Khan <skhan@linuxfoundation.org>","Cc":"Farhan Ali <alifm@linux.ibm.com>,\n        Alexander Gordeev <agordeev@linux.ibm.com>,\n        Christian Borntraeger <borntraeger@linux.ibm.com>,\n        Gerald Schaefer <gerald.schaefer@linux.ibm.com>,\n        Gerd Bayer <gbayer@linux.ibm.com>, Heiko Carstens <hca@linux.ibm.com>,\n        Julian Ruess <julianr@linux.ibm.com>,\n        Matthew Rosato <mjrosato@linux.ibm.com>,\n        Peter Oberparleiter <oberpar@linux.ibm.com>,\n        Ramesh Errabolu <ramesh@linux.ibm.com>,\n        Sven Schnelle <svens@linux.ibm.com>,\n Vasily Gorbik <gor@linux.ibm.com>,\n        linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,\n        linux-pci@vger.kernel.org, linux-s390@vger.kernel.org,\n        Niklas Schnelle <schnelle@linux.ibm.com>","X-Mailer":"b4 0.14.2","X-Developer-Signature":"v=1; a=openpgp-sha256; l=9648;\n i=schnelle@linux.ibm.com; h=from:subject:message-id;\n bh=ZPeJMSL8ZluFfuH3mW+V/JFCdnUlTkPcHpFahh2C+DU=;\n b=owGbwMvMwCX2Wz534YHOJ2GMp9WSGDLPXfpZNXmna2p9ll/+up7cHmO9evH0yrffEk5dZhNdc\n uxWRfjijlIWBjEuBlkxRZZFXc5+6wqmmO4J6u+AmcPKBDKEgYtTACayN5Xhf4bXrl13MpjD1T7r\n s8qsP32T/cKHHxd+l2/RLN/P5GxadJXhv88fac8vnx//n7DI7dqHT4mdL/5ErI78K7pP6czyA8V\n xnawA","X-Developer-Key":"i=schnelle@linux.ibm.com; a=openpgp;\n fpr=9DB000B2D2752030A5F72DDCAFE43F15E8C26090","X-TM-AS-GCONF":"00","X-Proofpoint-Reinject":"loops=2 maxloops=12","X-Authority-Analysis":"v=2.4 cv=RsjI7SmK c=1 sm=1 tr=0 ts=69ced303 cx=c_pps\n a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17\n a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=RnoormkPH1_aCDwRdu11:22 a=V8glGbnc2Ofi9Qvn3v5h:22 a=VnNF1IyMAAAA:8\n a=9RhT33yZKghZxMFRiMMA:9 a=QEXdDO2ut3YA:10 a=O8hF6Hzn-FEA:10","X-Proofpoint-GUID":"_obrgsEcZda8ze3oH19EDyAN3OcM5esF","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDAyMDE4MSBTYWx0ZWRfX+MuIMSIqTRwn\n H5yM+mp67WbtSKdaxQkoqr4QVQJMFrMJ2qgmvnv9PRwSaTd/iTd21FP7mL4ikJB/OnvTWoMbZD/\n Zgj8QIkfjW3NI1nk78ATLSY6DYJInwfD4k2CUqLFCmuwNhgG2J6FUvAfkmWV1Or4D+6g0AsO13U\n BUtVESALtTP1PkqTg2KaNfvmCaeIpAWadSHjDpzYbfDeZD8s4bdURCHg4A4cKlFcDSCzTqQBY12\n N35PV6heVA+WBF6uAHD4f3fHyER2MSmXQ2PPt6hzm+NZIdOsCWaxXwyIr40njckbDL3Mbbl9ssd\n j7nxIvcR3oeTnFU76iKHyQUAIkUwSne7kmVXcZqllWn3uNcMLcJWJ0DbztuK2it6MJBToSUUViQ\n +0SyIPTa1+yQp8nJcWUJFc4URIy3imU/wpMnsU4IMIfvbJIaj0Bg5e0copJrxeG8uZSvHmrN6ez\n uIEnqDkr6BY1LHkNclw==","X-Proofpoint-ORIG-GUID":"BFQPlAVFDiGvbn_4OQELYRFILLMbEF_J","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-02_03,2026-04-02_05,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n impostorscore=0 bulkscore=0 priorityscore=1501 lowpriorityscore=0\n suspectscore=0 malwarescore=0 spamscore=0 clxscore=1015 phishscore=0\n adultscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001\n definitions=main-2604020181"},"content":"Update the s390 specific PCI documentation to better reflect current\nbehavior and terms such as the handling of Isolated VFs via commit\n25f39d3dcb48 (\"s390/pci: Ignore RID for isolated VFs\").\n\nAdd a descriptions for /sys/firmware/clp/uid_is_unique which was added\nin commit b043a81ce3ee (\"s390/pci: Expose firmware provided UID Checking\nstate in sysfs\") but missed documentation.\n\nSimilarly add documentation for the fidparm attribute added by commit\n99ad39306a62 (\"s390/pci: Expose FIDPARM attribute in sysfs\") and\nadd a list of pft values and their names.\n\nFinally improve formatting of the different attribute descriptions by\nadding a separating colon.\n\nSigned-off-by: Niklas Schnelle <schnelle@linux.ibm.com>\n---\n Documentation/arch/s390/pci.rst | 139 +++++++++++++++++++++++++++-------------\n 1 file changed, 94 insertions(+), 45 deletions(-)","diff":"diff --git a/Documentation/arch/s390/pci.rst b/Documentation/arch/s390/pci.rst\nindex d5755484d8e75c7bf67a350e61bbe04f0452a2fa..31c24ed5506f1fc07f89821f67a814118514f441 100644\n--- a/Documentation/arch/s390/pci.rst\n+++ b/Documentation/arch/s390/pci.rst\n@@ -6,6 +6,7 @@ S/390 PCI\n \n Authors:\n         - Pierre Morel\n+        - Niklas Schnelle\n \n Copyright, IBM Corp. 2020\n \n@@ -27,7 +28,8 @@ Command line parameters\n debugfs entries\n ---------------\n \n-The S/390 debug feature (s390dbf) generates views to hold various debug results in sysfs directories of the form:\n+The S/390 debug feature (s390dbf) generates views to hold various debug results\n+in sysfs directories of the form:\n \n  * /sys/kernel/debug/s390dbf/pci_*/\n \n@@ -47,87 +49,134 @@ Sysfs entries\n \n Entries specific to zPCI functions and entries that hold zPCI information.\n \n-* /sys/bus/pci/slots/XXXXXXXX\n+* /sys/bus/pci/slots/XXXXXXXX:\n \n-  The slot entries are set up using the function identifier (FID) of the\n-  PCI function. The format depicted as XXXXXXXX above is 8 hexadecimal digits\n-  with 0 padding and lower case hexadecimal digits.\n+  The slot entries are set up using the function identifier (FID) of the PCI\n+  function as slot name. The format depicted as XXXXXXXX above is 8 hexadecimal\n+  digits with 0 padding and lower case hexadecimal digits.\n \n   - /sys/bus/pci/slots/XXXXXXXX/power\n \n   A physical function that currently supports a virtual function cannot be\n   powered off until all virtual functions are removed with:\n-  echo 0 > /sys/bus/pci/devices/XXXX:XX:XX.X/sriov_numvf\n+  echo 0 > /sys/bus/pci/devices/DDDD:BB:dd.f/sriov_numvf\n \n-* /sys/bus/pci/devices/XXXX:XX:XX.X/\n+* /sys/bus/pci/devices/DDDD:BB:dd.f/:\n \n-  - function_id\n-    A zPCI function identifier that uniquely identifies the function in the Z server.\n+  - function_id:\n+    The zPCI function identifier (FID) is a 32 bit hexadecimal value that\n+    uniquely identifies the PCI function. Unless the hypervisor provides\n+    a virtual FID e.g. on KVM this identifier is unique across the machine even\n+    between different partitions.\n \n-  - function_handle\n-    Low-level identifier used for a configured PCI function.\n-    It might be useful for debugging.\n+  - function_handle:\n+    This 32 bit hexadecimal value is a low-level identifier used for a PCI\n+    function. Note that the function handle may be changed and become invalid\n+    on PCI events and when enabling/disabling the PCI function.\n \n-  - pchid\n-    Model-dependent location of the I/O adapter.\n+  - pchid:\n+    This 16 bit hexadecimal value encodes a model-dependent location for\n+    the PCI function.\n \n-  - pfgid\n+  - pfgid:\n     PCI function group ID, functions that share identical functionality\n     use a common identifier.\n     A PCI group defines interrupts, IOMMU, IOTLB, and DMA specifics.\n \n-  - vfn\n+  - vfn:\n     The virtual function number, from 1 to N for virtual functions,\n     0 for physical functions.\n \n-  - pft\n-    The PCI function type\n+  - pft:\n+    The PCI function type is an s390 specific type attribute. It indicates\n+    a more general, usage oriented, type than PCI Specification\n+    class/vendor/device identifiers. That is PCI functions with the same pft\n+    value may be backed by different hardware implementations. At the same time\n+    apart from unclassified functions (pft is 0x00) the same pft value\n+    generally implies a similar usage model. At the same time the same\n+    PCI hardware device may appear with different pft values when in a\n+    different usage model. For example NETD and NETH VFs may be implemented\n+    by the same PCI hardware device but in NETD the parent Physical Function\n+    is user managed while with NETH it is platform managed.\n \n-  - port\n-    The port corresponds to the physical port the function is attached to.\n-    It also gives an indication of the physical function a virtual function\n-    is attached to.\n+    Currently the following PFT values are defined:\n \n-  - uid\n-    The user identifier (UID) may be defined as part of the machine\n-    configuration or the z/VM or KVM guest configuration. If the accompanying\n-    uid_is_unique attribute is 1 the platform guarantees that the UID is unique\n-    within that instance and no devices with the same UID can be attached\n-    during the lifetime of the system.\n+    - 0x00 (UNC): Unclassified\n+    - 0x02 (ROCE): RoCE Express\n+    - 0x05 (ISM): Internal Shared Memory\n+    - 0x0a (ROC2): RoCE Express 2\n+    - 0x0b (NVMe): NVMe\n+    - 0x0c (NETH): Network Express hybrid\n+    - 0x0d (CNW): Cloud Network Adapter\n+    - 0x0f (NETD): Network Express direct\n \n-  - uid_is_unique\n-    Indicates whether the user identifier (UID) is guaranteed to be and remain\n-    unique within this Linux instance.\n+  - port:\n+    The port is a decimal value corresponding to the physical port the function\n+    is attached to. Virtual Functions (VFs) share the port with their parent\n+    Physical Function (PF). A value of 0 indicates that the port attribute is\n+    not applicable for that PCI function type.\n \n-  - pfip/segmentX\n+  - uid:\n+    The user-defined identifier (UID) for a PCI function is a 32 bit\n+    hexadecimal value. It is defined on a per instance basis as part of the\n+    partition, KVM guest, or z/VM guest configuration. If UID Checking is\n+    enabled the platform ensures that the UID is unique within that instance\n+    and no two PCI functions with the same UID will be visible to the instance.\n+\n+    Independent of this guarantee and unlike the function ID (FID) the UID may\n+    be the same in different partitions within the same machine. This allows to\n+    create PCI configurations in multiple partitions to be identical in the\n+    UID-namespace.\n+\n+  - uid_is_unique:\n+    A 0 or 1 flag indicating whether the user-defined identifier (UID) is\n+    guaranteed to be and remain unique within this Linux instance. This\n+    platform feature is called UID Checking.\n+\n+  - pfip/segmentX:\n     The segments determine the isolation of a function.\n     They correspond to the physical path to the function.\n     The more the segments are different, the more the functions are isolated.\n \n+  - fidparm:\n+    Contains an 8 bit per PCI function parameter field in hexadecimal provided\n+    by the platform. The meaning of this field is PCI function type specific.\n+    For NETH VFs a value of 0x01 indicates that the function supports\n+    promiscuous mode.\n+\n+* /sys/firmware/clp/uid_is_unique:\n+\n+  In addition to the per-device uid_is_unique attribute this presents a\n+  global indication of whether UID Checking is enabled. This allows users\n+  to check for UID Checking even when no PCI functions are configured.\n+\n Enumeration and hotplug\n =======================\n \n The PCI address consists of four parts: domain, bus, device and function,\n-and is of this form: DDDD:BB:dd.f\n+and is of this form: DDDD:BB:dd.f.\n \n-* When not using multi-functions (norid is set, or the firmware does not\n-  support multi-functions):\n+* For a PCI function for which the platform does not expose the RID, the\n+  pci=norid kernel parameter is used, or a so called isolated Virtual Function\n+  which does have RID information but is used without its parent Physical\n+  Function being part of the same PCI configuration:\n \n   - There is only one function per domain.\n \n-  - The domain is set from the zPCI function's UID as defined during the\n-    LPAR creation.\n+  - The domain is set from the zPCI function's UID if UID Checking is on\n+    otherwise the domain ID is generated dynamically and is not stable\n+    across reboots or hot plug.\n \n-* When using multi-functions (norid parameter is not set),\n-  zPCI functions are addressed differently:\n+* For a PCI function for which the platform exposes the RID and which\n+  is not an Isolated Virtual Function:\n \n   - There is still only one bus per domain.\n \n-  - There can be up to 256 functions per bus.\n+  - There can be up to 256 PCI functions per bus.\n \n-  - The domain part of the address of all functions for\n-    a multi-Function device is set from the zPCI function's UID as defined\n-    in the LPAR creation for the function zero.\n+  - The domain part of the address of all functions within the same topology is\n+    that of the configured PCI function with the lowest devfn within that\n+    topology.\n \n-  - New functions will only be ready for use after the function zero\n-    (the function with devfn 0) has been enumerated.\n+  - Virtual Functions generated by an SR-IOV capable Physical Function only\n+    become visible once SR-IOV is enabled.\n","prefixes":["v6","1/2"]}