-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementing pass-through protocols #244
Comments
Hi! Usually, we represent such buffers as |
Hello, any progress on this? Although I am unsure about how to non-manually test it, since it requires passing an ssd to qemu with vfio, or, well, actually running it. And also I'll need ATA later, so I am asking if I have to do it for myself or is there something you will make a PR with at some point. |
@necauqua since the original issue author didn't reply, I'm going to guess they're not actively working on this feature anymore?
That being said, if you've already defined the corresponding protocols and wouldn't mind sharing them with the |
Sure, I'd push the ones I have in my project, I need to add docs/missing impls and also yeah most of them are kind of untestable without dedicated hw or smth. Also ATA passthrough mysteriously does not work for me: at least ATA Identify (just times out) but it's used by PI DiskInfo protocol (which I have also implemented without docs/tests seeking alternatives, as well as StorageSecurityCommand (13.14) and DevicePathToText (10.6.2)) and from it I do get identify data, so it seems like my impl/usage somehow differs from the C ones |
similar than scsi |
While I kind of abandoned it all long time ago, I'm using https://github.com/necauqua/opal-uefi-greeter to this day - anyone has my permission to steal the NvmExpressPassthru from there to here if you haven't done that already 😅 |
Right now I'm trying to implement the EFI ATA, NVMe, and SD MMC pass-through protocols. These are defined in SECs. 13.13 (pg. 582), 13.15 (pg. 605), and 13.16 (pg. 615) of UEFI 2.9.
I'm starting off with
EFI_ATA_PASS_THRU_PROTOCOL
. I'm currently stuck on theEFI_ATA_PASS_THRU_PROTOCOL.PassThru()
function. Its signature is:This isn't what I'm stuck on; I'm stuck on the related definitions that this function requires:
Most of these definitions are trivial. What I'm confused about is the void pointers. (This isn't the only EFI protocol that has this, but this is one of them.) What type would I use for this in this environment since I (can't -- I don't think) use c_void?
The text was updated successfully, but these errors were encountered: