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