Module firmware_uefi::service::nvram::spec_services
source · Expand description
An implementation of UEFI spec 8.2 - Variable Services
This implementation is a direct implementation / transcription of the UEFI spec, and does not contain any Hyper-V specific features* (i.e: injecting various nvram vars related to secure boot, boot order, etc…).
*that isn’t entirely true just yet, as there is one bit of code that enforce read-only access to certain Hyper-V specific vars, but if the need arises, those code paths can be refactored.
Modules§
- Cryptographic operations to validate authenticated variables
Structs§
- Unlike a typical result type, NvramErrors contain both a payload and an error code. Depending on the error code, an optional
NvramError
might be included as well, which provides more context. - An implementation of UEFI spec 8.2 - Variable Services
- Helper struct to collect various properties of a parsed authenticated var
SetVariable
validation is incredibly tricky, since there are a lot of subtle logic branches that are predicated on the presence (or lack thereof) of various attribute bits.
Enums§
Traits§
- Extension trait around
NvramServices
that makes it easier to use the API outside the context of the UEFI device.