Skip to content

eigenraven/uefi-d

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

uefi-d

D bindings for UEFI specifications, based on the headers from EDK II 2015. They allow to compile fully functional EFI executables without assembly or C bootstrapping, it boots directly to D :-) They can be used to build UEFI-compatible applications and drivers in the D Programming Language. Sample "Hello, world" program is provided, with source and a linux script to compile: My laptop booting to D UEFI executable

Compilation of D UEFI projects

I'm pretty sure dub won't be able to handle your projects, the best way is to use either reggae or another custom build system. The executables must not require the D runtime or standard library, suggested ldc2 compiler options for 64-bit compiles:

ldc2 -mtriple=x86_64-unknown-windows-coff -boundscheck=off -nogc -defaultlib= -debuglib= -code-model=large

And GNU linker options:

x86_64-w64-mingw32-gcc -nostdlib -Wl,-dll -shared -Wl,--subsystem,10 -e efi_main

It probably would be possible to write a minimal D runtime, but this is not a goal for this project in the near future (unless somebody wants to contribute one).

About

D bindings for UEFI specifications

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages