Skip to content

[Feature]: Migrate EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL binding from patina to r-efi #1494

@kat-perez

Description

@kat-perez

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

  1. 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.
  2. 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.
  3. 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.

Metadata

Metadata

Assignees

Labels

Type

No fields configured for Task.

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions