I'm happy to announce that the latest release of the UEFI (Unified Extension Firmware Interface) specification includes support for ARMv8-A AArch64 (64-bit ISA). UEFI is a specification created by the UEFI Forum which is an industry standards group of 150 plus companies. The specification defines an API that standardizes the Operating System / Firmware interface.
The AArch64 support includes a larger register-file, enhanced addressing range and virtualization awareness. For more details please download the 2.4 specification from UEFI.org.
A team from ARM and many other companies across the industry have been working on the 64-bit ARM Bindings for about two years. The procedure to create a new binding involves a lot of details and future usage models because the binding has a long life span in the industry. Future enhancements to the bindings can be added provided they don’t affect the compatibility of older firmware implementations.
I believe this standard is important since processor and system complexity is increasing. Large OEMs are using UEFI to boot ARM-based systems. It is applicable to a wide range of segments since UEFI specifies a framework which can be extended and reduced as required. And it generally helps standardize the boot procedure from power-up to booting an Operating System.
I also believe UEFI saves time and money. UEFI specification allows the ARM partnership to write one boot loader per platform which in turn saves costs in boot loader development and engineering. A UEFI specification is written down and peer reviewed. Tested UEFI drivers are available from third party peripheral providers. Finally, it provides an environment for manufacturing tests. All these features make UEFI an attractive solution for producing quality products.
SUMMARY
UEFI brings a neutral boot loader capable of booting both open-source and non-open source Operating Systems. UEFI defines a framework that can grow and shrink depending upon requirements. The specification is written down and peer-reviewed. Lots of validated software is available from third parties. Write-once, validate-once, support all Operating Systems.
Now the latest UEFI 2.4 specification supports AArch64, check it out!