8. Scalable FSP
The scalable FSP is an evolution of the Intel Firmware Support Package detailed at www.intel.com/fsp.
8.1. Interfaces
C API’s include
For EDKII -
https://github.com/tianocore/edk2/tree/master/IntelFsp2WrapperPkg/Include/Library
Details of some of the interfaces can be found in https://www.intel.com/content/dam/develop/external/us/en/documents/a-tour-beyond-bios-using-the-intel-firmware-support-package-with-the-efi-developer-kit-ii-fsp2-0-820293.pdf.
RUST variants include
https://github.com/jyao1/rust-firmware/tree/master/rust-fsp-wrapper
coreboot FSP
https://github.com/coreboot/coreboot/tree/master/src/drivers/intel/fsp2_0
Additional details can be found in https://github.com/coreboot/coreboot/tree/master/Documentation/soc/intel/fsp and https://link.springer.com/chapter/10.1007/978-1-4842-0070-4_4
8.2. sFSP interactions
The Intel Firmware Support Package has various evolutions for the Next Generation Firmware program. These are tentatively described by the specification evolution.
Since the POL uses FSP as its SOC abstraction, the POL considerations for the various permutations of the FSP are described below.
8.2.1. FSP 2.2
Multiple notifications, bootloader debug/status code + FSP 2.1
8.2.2. FSP 2.3
FSP 2.2, large HOB support, versioning update
8.2.3. FSP 2.next.next
FSP2.3, SOC ACPI Abstraction, FSP-V, 64-bit, SMM loading
8.2.4. FSP 3.0 or FSP2.next.next
FSP-at-Reset (“bootable FSP”), FSP-R (FSP-Runtime)