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.