The Unified Extensible Firmware Interface (UEFI) is a standardized firmware specification that simplifies platform initialization and firmware bootstrap.
The UEFI bootloader is available for the following devices:
- Intel Arria 10 SoC
- Intel Stratix 10 SoC
Because the UEFI is very well-specified and used by hundreds of technology companies, a lot of the code can be reused, enabling faster development cycles.
The UEFI as implemented on Intel SoC FPGAs comprises two different stages:
- Pre-Efi Initialization Phase (PEI). This stage configures the platform and loads either the end user application or DXE.
- Driver eXecution Environment (DXE). This stage loads additional UEFI drivers and allows more extended capabilities, such as networking and command-line interface.
The UEFI bootloader also offers the capability to run special applications that target the DXE environment. Such applications can be executed then upon exit control returns to the DXE.
UEFI is offered with a BSD license, which allows more convenient development and deployment.
The UEFI source code is available at the UEFI SoC FPGA page on the GitHub website.
For Intel Arria 10 SoCs, the UEFI is also delivered with SoC EDS enabling the same development flow as U-Boot.