mirror of
https://github.com/edera-dev/sprout.git
synced 2026-11-04 18:42:21 +00:00
Add a devicetree option to the chainload action, set from the devicetree key of a BLS entry. The file is installed as the EFI devicetree table with the memory type that a devicetree has to be in, patched by the fixup protocol when the firmware has one, and the table of the firmware is put back when the image returns or fails to start. It is ignored when Secure Boot is enabled, as it can't be verified, and the DeviceTree loader feature is advertised.
54 lines
1.3 KiB
Rust
54 lines
1.3 KiB
Rust
//! Sprout EFI core.
|
|
//! This crate provides core EFI functionality for Sprout.
|
|
|
|
// For some reason this triggers, and I can't figure out why.
|
|
#![allow(rustdoc::bare_urls)]
|
|
#![no_std]
|
|
extern crate alloc;
|
|
|
|
/// Installing a devicetree for the image that is started.
|
|
pub mod devicetree;
|
|
|
|
/// EFI handle helpers.
|
|
pub mod handle;
|
|
|
|
/// Load and start EFI images.
|
|
pub mod loader;
|
|
|
|
/// Logging support for EFI applications.
|
|
pub mod logger;
|
|
|
|
/// Disk partitioning support infrastructure.
|
|
pub mod partition;
|
|
|
|
/// Path handling for UEFI.
|
|
pub mod path;
|
|
|
|
/// platform: Integration or support code for specific hardware platforms.
|
|
pub mod platform;
|
|
|
|
/// Secure Boot support.
|
|
pub mod secure;
|
|
|
|
/// Finding the Extended Boot Loader Partition.
|
|
pub mod xbootldr;
|
|
|
|
/// Support for the shim loader application that enables Secure Boot.
|
|
pub mod shim;
|
|
|
|
/// String utilities.
|
|
pub mod strings;
|
|
|
|
/// Implements support for the bootloader interface specification.
|
|
pub mod bootloader_interface;
|
|
/// Acquire arguments from UEFI environment.
|
|
pub mod env;
|
|
/// Support code for the EFI framebuffer.
|
|
pub mod framebuffer;
|
|
/// Support code for the media loader protocol.
|
|
pub mod media_loader;
|
|
/// setup: Code that initializes the UEFI environment for Sprout.
|
|
pub mod setup;
|
|
/// Support code for EFI variables.
|
|
pub mod variables;
|