Feature Overview
A minimal EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL binding currently lives as a private nvme_pass_thru sub-module inside components/patina_boot/src/helpers.rs (added by #1488). It's a pure FFI binding consumed only by lock_partition_write. The natural home is r-efi, alongside the existing UEFI protocol bindings patina pulls in via impl_r_efi_protocol!.
Solution Overview
- Open an
r-efi PR adding nvm_express_pass_thru to its protocols/ set, including the Protocol struct, CommandPacket, Command, Completion, and the related FID / opcode / queue-type constants.
- Once the new r-efi version cuts and the patina workspace bumps
r-efi, add impl_r_efi_protocol!(nvm_express_pass_thru); in sdk/patina/src/uefi_protocol.rs.
- Delete the private
nvme_pass_thru module from components/patina_boot/src/helpers.rs.
Alternatives Considered
Promote the binding to sdk/patina/src/uefi_protocol/ as a standalone module (analogous to ram_disk). Rejected — same convention argument: pure-FFI protocols belong in r-efi, not in patina.
Feature Overview
A minimal
EFI_NVM_EXPRESS_PASS_THRU_PROTOCOLbinding currently lives as a privatenvme_pass_thrusub-module insidecomponents/patina_boot/src/helpers.rs(added by #1488). It's a pure FFI binding consumed only bylock_partition_write. The natural home isr-efi, alongside the existing UEFI protocol bindings patina pulls in viaimpl_r_efi_protocol!.Solution Overview
r-efiPR addingnvm_express_pass_thruto itsprotocols/set, including theProtocolstruct,CommandPacket,Command,Completion, and the related FID / opcode / queue-type constants.r-efi, addimpl_r_efi_protocol!(nvm_express_pass_thru);insdk/patina/src/uefi_protocol.rs.nvme_pass_thrumodule fromcomponents/patina_boot/src/helpers.rs.Alternatives Considered
Promote the binding to
sdk/patina/src/uefi_protocol/as a standalone module (analogous toram_disk). Rejected — same convention argument: pure-FFI protocols belong in r-efi, not in patina.