UEFI

From Lazarus wiki
Revision as of 15:20, 3 January 2016 by Oco (talk | contribs)
Jump to navigationJump to search

Motivations behind this target

Unified Extensible Firmware Interface (UEFI) now replace BIOS in most current PCs.

Currently, there is two main options to develop UEFI applications :

- Tianocore : http://www.tianocore.org/
- gnu-efi : http://sourceforge.net/projects/gnu-efi/

Both solutions require a tedious setup process.

Thank to his internal linker, Freepascal can become the easiest option to develop UEFI applications, as no external tools would be required to start hacking.

Technical requirements

UEFI applications are PE binaries like Windows target. Freepascal already support that. The only difference is a different subsystem in the PE header.

Calling conventions under UEFI are identical to the corresponding ones under Windows on the same architecture. Freepascal already support that too.

Resources

Some interesting development resources around UEFI :

- UEFI specifications : http://www.uefi.org/
- OS development under UEFI : http://wiki.osdev.org/UEFI
- UEFI bootloaders : http://www.rodsbooks.com/efi-bootloaders/principles.html