fwctl pds 驅動程式

作者:

Shannon Nelson

概述

PDS 核心裝置透過一個名為 pds_core.fwctl.N 的輔助裝置提供 fwctl 服務。pds_fwctl 驅動程式繫結到此裝置並向 fwctl 子系統註冊。由此產生的使用者空間介面由作為 AMD Pensando 分散式服務卡 (DSC) 軟體包一部分的應用程式使用。

pds_fwctl 驅動程式對韌體的內部機制知之甚少。它只知道如何透過 pds_core 的訊息佇列向韌體傳送 fwctl 請求命令。可用的 fwctl 操作集取決於 DSC 中的韌體,並且使用者空間應用程式版本必須與韌體匹配,以便它們能夠相互通訊。

當建立連線時,pds_fwctl 驅動程式會向韌體請求韌體物件端點列表,並且對於每個端點,驅動程式會請求該端點的操作列表。

每個操作描述都包含一個韌體定義的命令屬性,該屬性對映到 FWCTL 作用域級別。驅動程式將這些韌體值轉換為 FWCTL 作用域值,然後這些值可用於過濾限定作用域的使用者請求。

pds_fwctl 使用者 API

每個 RPC 請求都包含目標端點和操作 ID,以及輸入和輸出緩衝區的長度和指標。驅動程式驗證所請求的端點和操作是否存在,然後對照操作的所需作用域檢查請求作用域。然後,請求與請求資料一起打包,並透過 pds_core 的訊息佇列傳送到韌體,結果返回給呼叫者。

RPC 端點、操作和緩衝區內容由裝置中特定的韌體包定義,這在不同的可用產品配置中有所不同。詳細資訊可在特定產品 SDK 文件中查閱。