Repository navigation
nvme: apple: Add resident ANS support over native APIF - #241
Closed
DjDeveloperr wants to merge 1 commit into
Closed
DjDeveloperr wants to merge 1 commit into
DjDeveloperr wants to merge 1 commit into
Conversation
Forward table-6 calls through the shared version-2 transport. Build the TCB and physical page list in Linux, validate identity DMA addresses, and reuse four explicitly quiesced, reserved queue pages across boot owners. Retain requests after lost MAP responses and require native invalidation before cancellation or completion releases their backing. Keep existing post-M4 recovery, quarantine and synchronous flush behavior. Leave raw controller profiles on their existing register paths. Require a stopped RTKit handoff rather than inferring live-session buffer ownership from controller registers. Host tests cover no-payload queue commands, void MAP results, failed UNMAP, lost replies, offset apertures and the maximum physical page list. Local native object build passes; hardware qualification remains pending. Signed-off-by: Dj <hey@djdev.me>
This was referenced Oct 11, 2026
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resident ANS cannot use raw NVMMU programming or replace queue addresses pinned by a previous boot owner. Add
apple,nvme-apifwith Linux-owned native table-6 call construction, TCB/page-list translation, and four validated reserved queue pages.Preserve the public driver's recovery, quarantine, controller lifetime and synchronous post-M4 flush fixes. A lost MAP response keeps the request live; completion or cancellation must confirm native UNMAP before releasing DMA backing. Retain backing after failed SART unmaps. No per-call success logging, payload copies or GPU changes.
This is the first PR in the non-GPU integration stack, based on
apif-mmio(#238). Later PCIe, PMP and guest-wiring PRs will build on it.The new profile requires a coherent identity DMA aperture and an explicitly quiesced RTKit handoff with four 16 KiB
no-mapqueue reservations. It deliberately rejects the internal version-1 live-session handoff: CC.EN/RDY does not prove mailbox or retained-buffer ownership. Existing raw profiles preserve their adoption path. The boot producer must supply this documented contract before hardware testing.Validation: native AArch64
Imagebuild with Clang and GNU ld; binding schema validation; APIF host fault tests including queue commands without payload, void MAP results, failed UNMAP, lost replies, offset DMA rejection and the 257-page boundary. The source has been reviewed for ownership, teardown and publication provenance. Hardware boot, read/write/flush durability, reset and unbind qualification remain pending.All commits are signed off by Dj hey@djdev.me.