Intel® FSP External Architecture Specification v2.3 Has Been Released

Nate DeSimone

Hi Everyone,

We are pleased to announce that the FSP External Architecture Specification v2.3 has been posted to!


* FSP_NON_VOLATILE_STORAGE_HOB2 – A new architectural HOB has been added for storage of MRC training data. While this HOB serves the same purpose as the original FSP_NON_VOLATILE_STORAGE_HOB, it allows >64KB of MRC training data to be stored. Some of Intel’s upcoming designs will require the storage of >64KB of MRC training data, so this addition is being made in advance. Bootloaders should practice defensive programming and first search for FSP_NON_VOLATILE_STORAGE_HOB2, and only search for FSP_NON_VOLATILE_STORAGE_HOB if the former is not found in the HOB list. This algorithm will guarantee compatibility with all FSP 2.x specification versions.

* FSP Version Numbers – A new ExtendedImageRevision field has been added to the FSP_INFO_HEADER. This expands the size of the Revision and Build Number fields of the FSP version number from 8 bits to 16 bits. This is done by adding a high-order byte to each of those fields. If the ExtendedImageRevision field is present, then the FSP version number is decoded as follows:

Build Number = (ExtendedImageRevision[7:0] << 8) | ImageRevision[7:0]
Revision = (ExtendedImageRevision[15:8] << 8) | ImageRevision[15:8]
Minor Version = ImageRevision[23:16]
Major Version = ImageRevision[31:24]


Both Meteor Lake and Sapphire Rapids will require storage of >64KB of MRC training data. Therefore, we recommend that bootloaders plan to have support for FSP 2.3 ready by early next year.

Does Anything Need to Change in EDK II?

Both IntelFsp2Pkg and IntelFsp2WrapperPkg will need to be modified to define and implement the FSP_NON_VOLATILE_STORAGE_HOB2 and ExtendedImageRevision. Additionally, MinPlatformPkg/FspWrapper will need modifications to implement FSP_NON_VOLATILE_STORAGE_HOB2. The community can expect patches from Intel to implement these changes.