[GSoC] Ways to make the x86_64 port work with UEFI
Amaan Cheval
amaan.cheval at gmail.com
Fri May 18 20:24:47 UTC 2018
Hi everyone!
I've written a quick blog post summarizing the options I've considered
to make the x86_64 port work with UEFI firmware - the primary winner
seems to be in my eyes to use "gnu-efi" and to add support for the
target "pei-x86-64" (aliased to "efi-app-x86_64") to
"x86_64-rtems5-objcopy" in binutils. I've submitted a patch for this
here[1].
The blog post is here:
https://blog.whatthedude.com/post/uefi-app-options/
I'd appreciate all feedback (and please do let me know if I haven't
provided enough context)!
Specifically, some concerns I'd like to discuss are:
- Does everyone agree with me on choosing gnu-efi + objcopy as our
method of choice?
- How do we integrate gnu-efi into our build process? A part of the
RSB, making sure the path to the libraries are in an exported
variable? Or perhaps a part of the RTEMS kernel itself if the licenses
are compatible (I don't see any on the project[2], only copyright
notices within the source files of the release versions).
- Regardless of how we manage UEFI, do we require Multiboot support
too? Multiboot drops us in a 32-bit protected mode environment,
whereas 64-bit UEFI firmware will boot us into 64-bit long mode - this
would mean the kernel would need to support separate code-paths for
the 2 if we want to support both methods.
[1] https://www.sourceware.org/ml/binutils/2018-05/msg00197.html
[2] https://sourceforge.net/projects/gnu-efi/
More information about the devel
mailing list