-
Notifications
You must be signed in to change notification settings - Fork 159
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
LoadFileProtocol and LoadFile2Protocol #1297
Conversation
3b31f08
to
8ba5fa2
Compare
@nicholasbishop I noticed that we don't really have a streamlined strategy or code base regarding what is IMHO, we could also "turn the switch" to only provide first-class citizen support for the The only people don't want to use alloc are the people in safety-critical domains where they need deterministic memory management. But I think those people won't use UEFI in the first place 😁 I think we should also tell a few sentences about our strategy on that in the documentation of the crate. @nicholasbishop |
71cda2f
to
70ce3d8
Compare
I agree it's worth thinking more about the alloc strategy, and even if we decide to keep everything the same we should indeed document our approach more clearly. (And if we do decide changes are warranted I would want to hold off a bit as we already have large-scale changes happening in the repo.) Want to open an issue for this question? |
|
Ready for the next review-round. |
bde5a45
to
fd658c1
Compare
bf2a54f
to
2c66134
Compare
This actually tests multiple things: - LoadFile and LoadFile2 wrappers work - (un)install_protocol_interface works - how our API is suited to create a custom implementation of an existing protocol definition - The workflow used in Linux loaders to enable the Linux EFI stub to load the initrd via the LOAD_FILE2 protocol. Further what I'm doing in this test, is already deployed in the wild: https://github.com/nix-community/lanzaboote/blob/b7f68a50e6902f28c07a9f8d41df76f4c0a9315b/rust/uefi/linux-bootloader/src/linux_loader.rs#L142
Supersedes #945. Implements
LoadFile
andLoadFile2
, including an integration test. The way we are implementing the LoadFile(2) protocol is roughly what certain Linux loaders do so that Linux can find its initrd. See code for references.Steps to Undraft
Checklist