Difference between revisions of "UEFI"

From Lazarus wiki
Jump to navigationJump to search
Line 14: Line 14:
 
UEFI applications are PE binaries like Windows target. Freepascal already support that. The only difference is a different subsystem in the PE header.
 
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 one under Windows on the same architecture. Freepascal already support that too.
+
Calling conventions under UEFI are identical to the corresponding ones under Windows on the same architecture. Freepascal already support that too.

Revision as of 16:21, 2 January 2016

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.