驱动程序特定的回调

pldmfw 模块依赖于设备驱动程序来实现设备特定的行为,使用以下操作。

.match_record

.match_record 操作用于确定给定的 PLDM 记录是否与正在更新的设备匹配。这需要将记录中的记录描述符与来自设备的信息进行比较。许多记录描述符由 PLDM 标准定义,但也允许设备实现自己的描述符。

如果给定的记录与设备匹配,则 .match_record 操作应返回 true。

.send_package_data

.send_package_data 操作用于将记录中特定于设备的包数据发送到设备固件。如果匹配的记录提供了包数据,则 pldmfw 将调用 .send_package_data 函数,其中包含指向包数据的指针和包数据长度。设备驱动程序应将此数据发送到固件。

.send_component_table

.send_component_table 操作用于将组件信息转发到设备。对于每个适用的组件,即由匹配记录指示的每个组件,调用一次。设备驱动程序应将组件信息发送到设备固件,并等待响应。提供的传输标志指示这是第一个、最后一个还是中间组件,并且预计将作为组件表信息的一部分转发到固件。如果固件指示无法更新该组件,则驱动程序应返回错误,如果可以更新该组件,则返回零。

.flash_component

.flash_component 操作用于通知设备驱动程序刷新给定的组件。驱动程序必须执行任何必要的步骤才能将组件数据发送到设备。

.finalize_update

.finalize_update 操作由 pldmfw 库使用,以便允许设备驱动程序执行完成更新所需的任何剩余的特定于设备的逻辑。