-
Notifications
You must be signed in to change notification settings - Fork 28
Replace POSIX-UEFI with Nyu-EFI #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I got it working! |
|
Please go ahead! I was a little bit concerned about POSIX-UEFI's ia32 compatibility and it seems like Nyu-EFI is doing better in this perspective. |
|
I just pushed some of my local work, please rebase. |
|
Doing so as we speak :) |
|
Done. |
9e1d13e to
c422530
Compare
|
I believe everything should be fine now. |
|
Thanks for your work! I have a couple of nits like BS/ST declaration should be in Also is it possible to use git submodule to manage dependency instead of custom scripts? I found that's much easier for me. For libc functions my personal perference would be pull in https://github.com/picolibc/picolibc but I'm happy leave it as is given that we are not using much functions. |
|
No problem! The BS/ST variables are declared in Sure, I will convert to submodules if you prefer that. Yeah, I agree that given we only use 5 libc functions, it's better to not pull in too many unnecessary foreign dependencies. Furthermore, I forgot to clean up a bit the code to exit boot services in order to add all workarounds needed for real machines to work properly. This was a quick PoC that would work in QEMU with OVMF. |
CI seems to be failing. |
|
Fixed. |
|
Seems like cbvga stopped to work. |
|
I'll merge atm and try to debug further as we are not going to make a release any time soon. |
This PR replaces POSIX-UEFI with Nyu-EFI. The build system code is taken from the Nyu-EFI template.
This is a work in progress as it currently GPFs when executing some CALL16 and the GitHub Actions part hasn't been modified. If this PR is of interest I will continue working on it.
Nyu-EFI is a much simpler solution for making EFI applications. It only provides headers, no library, except a small relocation stub that allows ELF toolchains (both GCC and LLVM) to be used for building and examining the executable, prior to the conversion to PE.