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 文档中查阅。