Modifications in PLDM T5 flow to support SPI staged update
Patrick Williams
patrick at stwcx.xyz
Fri Aug 15 23:25:02 AEST 2025
Are there Redfish methods of initiating this now? I recall a workgroup at OCP was trying to get this done there.
— Patrick Williams
> On Aug 15, 2025, at 8:15 AM, Tom Joseph <rushtotom at gmail.com> wrote:
>
>
> Hello All,
>
> SPI Staged Update enables pre-downloading firmware component images for supported devices, significantly reducing downtime during firmware updates and activation. This requires devices to support at least two slots — one for the running firmware and another for staging the new image.
>
> The update process occurs in two iterations:
>
> First Iteration:
>
> The PLDM UA initiates the PLDM T5 flow with the PLDM FD supporting staged updates.
>
> All stages (Transfer, Verify, Apply) are completed except activation. This is achieved by PLDM UA skipping the PLDM T5 ActivateFirmware command.
>
> Upon state machine timeout, the PLDM FD marks the new image as staged (not failed update). Since it’s staged, it remains inactive until explicitly activated later.
>
> Second Iteration:
>
> The same PLDM package is used. Since the image is already staged, the PLDM FD skips most of the Transfer stage, reducing downtime.
>
> This iteration is typically scheduled during a maintenance window.
>
> Devices that do not support SPI staging are updated in this iteration.
>
> All firmware is activated after this iteration.
>
> To enable this, we propose introducing a new OEM parameter in the MultiPart API to instruct the PLDM UA to skip sending the ActivateFirmwarecommand, along with necessary PLDM UA modifications to support the SPI staged flow.
>
> If there is interest within the OpenBMC community to adopt and collaborate on this feature, please feel free to reach out.
>
>
> [1] https://docs.nvidia.com/multi-node-nvlink-systems/nvfupd-guide/appendix/spi-staged.html
>
> Regards,
> Tom
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20250815/10d9a119/attachment.htm>
More information about the openbmc
mailing list