Ratcheting for MB1/SC7 and MTS Firmware

The overall flow:

  • MB1 passes the ratchet version of itself and SC7-FW to the bootloader via a scratch register dedicated for MB1 and SC-FW.
  • MTS passes the OEM ratchet version of itself to the bootloader via a scratch register dedicated for MTS ratchet.
  • The bootloader compares the ratchet versions of MB1, SC7, and MTS in their corresponding scratch register with respective hardware fuse values.
  • Perform ratchet check and program the ratchet fuse.

For each of the binaries (MB1/SC7 and MTS), if ratchet version in scratch is greater than the hardware ratchet, then the minimum of the ratchet version of binary in boot chain A and ratchet version of binary in boot chain B is programmed in the ratchet fuse, provided the following criteria are met:

The bootloader then passes the ratchet status to guest OS. For more information, see Passing Ratchet Status to Guest OSes.