S/390 PCI

作者
  • Pierre Morel

版權所有,IBM Corp. 2020

命令列引數和 debugfs 條目

命令列引數

  • nomio

    不要使用 PCI 對映 I/O (MIO) 指令。

  • norid

    忽略 RID 欄位,並強制每個 PCI 函式使用一個 PCI 域。

debugfs 條目

S/390 除錯特性 (s390dbf) 生成檢視,用於儲存在以下形式的 sysfs 目錄中的各種除錯結果

  • /sys/kernel/debug/s390dbf/pci_*/

例如

  • /sys/kernel/debug/s390dbf/pci_msg/sprintf 儲存來自 PCI 事件處理的訊息,例如機器檢查處理和全域性功能設定,如 UID 檢查。

透過將 0 到 6 之間的數字管道傳輸到 /sys/kernel/debug/s390dbf/pci_*/level 來更改日誌記錄的詳細程度。有關詳細資訊,請參閱 S390 除錯特性 上的 S/390 除錯特性文件。

Sysfs 條目

特定於 zPCI 函式的條目和儲存 zPCI 資訊的條目。

  • /sys/bus/pci/slots/XXXXXXXX

    slot 條目是使用 PCI 函式的功能識別符號 (FID) 設定的。 上面描述為 XXXXXXXX 的格式是 8 個十六進位制數字,用 0 填充並且是小寫十六進位制數字。

    • /sys/bus/pci/slots/XXXXXXXX/power

    當前支援虛擬功能的物理功能無法斷電,直到所有虛擬功能都已刪除:echo 0 > /sys/bus/pci/devices/XXXX:XX:XX.X/sriov_numvf

  • /sys/bus/pci/devices/XXXX:XX:XX.X/

    • function_id 唯一標識 Z 伺服器中功能的 zPCI 功能識別符號。

    • function_handle 用於配置的 PCI 功能的底層識別符號。它可能對除錯有用。

    • pchid I/O 介面卡的模型相關位置。

    • pfgid PCI 功能組 ID,共享相同功能的函式使用公共識別符號。 PCI 組定義中斷、IOMMU、IOTLB 和 DMA 規範。

    • vfn 虛擬功能編號,對於虛擬功能從 1 到 N,對於物理功能為 0。

    • pft PCI 功能型別

    • port 該埠對應於函式連線到的物理埠。它還指示虛擬功能連線到的物理功能。

    • uid 使用者識別符號 (UID) 可以定義為機器配置的一部分或 z/VM 或 KVM 客戶機配置的一部分。 如果附帶的 uid_is_unique 屬性為 1,則平臺保證 UID 在該例項中是唯一的,並且在系統生命週期內無法附加具有相同 UID 的裝置。

    • uid_is_unique 指示使用者識別符號 (UID) 是否保證在該 Linux 例項中是且保持唯一。

    • pfip/segmentX 這些段確定函式的隔離。 它們對應於函式的物理路徑。 段越不同,函式隔離得越多。

列舉和熱插拔

PCI 地址由四個部分組成:域、匯流排、裝置和功能,其形式為:DDDD:BB:dd.f

  • 當不使用多功能時(設定了 norid,或者韌體不支援多功能)

    • 每個域只有一個功能。

    • 域從 zPCI 功能的 UID 設定,如 LPAR 建立期間所定義的那樣。

  • 當使用多功能時(未設定 norid 引數),zPCI 功能的定址方式不同

    • 每個域仍然只有一條匯流排。

    • 每條匯流排最多可以有 256 個功能。

    • 多功能裝置的所有功能的地址的域部分都從 zPCI 功能的 UID 設定,如 LPAR 建立中為功能零定義的那樣。

    • 只有在功能零(devfn 為 0 的功能)列舉後,新功能才能使用。