Visible to Intel only — GUID: qgq1606258028673
Ixiasoft
Visible to Intel only — GUID: qgq1606258028673
Ixiasoft
6.4. Sub-Partition Table
The Sub-partition table lists the flash partitions. These partitions include the BOOT_INFO, FACTORY_IMAGE, SPTs, CPBs and application image partitions. They also include any custom partitions defined at initial image creation time, or created at run time using U-Boot or LibRSU.
There are two SPT copies. Whenever one SPT is erased in order to write new content to it, the other SPT is left untouched so that if a power failure happens before the first SPT is fully written to flash, the second one remains valid. There is a magic field in the SPT header, which is written last, after a SPT is erased and re-populated correctly. An incorrect magic filed indicates that a power failure has occurred and that SPT copy is invalid.
The decision firmware does not use the SPTs, never reads, erases or writes to them. It only reports their location to HPS software. The decision firmware is not impacted by SPT corruptions.
When only one SPT is corrupted, the HPS software automatically detects the corruption and recovers the corrupt SPT from the other good copy. This happens at initialization time, both in U-Boot and LibRSU.
In addition to the magic field, the HPS software checks SPT integrity by validating that partitions do not overlap. It also compares the two SPTs and if not identical it considers both corrupted.
Starting with Intel® Quartus® Prime Pro Edition software version 20.4, the SPTs are protected by a checksum in their header. The checksum is filled in at image creation time by the Programming File Generator. The HPS software can be enabled by a run-time configuration option to check and maintain the SPT checksums. The option is turned off by default, as it requires all the software components in the system to know about the checksum and maintain it appropriately, which may not be the case in all situations.