Files
UniXNU/docs/drivers/arm-smmu4k.md
T
UniXNU Docs 347ec24363 docs(drivers): describe the GPU memory path and the refusing encoder
Adreno740 gains a memory and TLB section, ArmSmmu4K its live batch
maps and unmap invalidation, AdrenoMetal the refusing render encoder
and list-only priming, ShengUfs its optional stage 1 windows.
2026-10-26 06:47:46 +08:00

1.2 KiB

ArmSmmu4K

Start with the adaptation procedure for board inputs, source changes, build integration and verification order.

ARM SMMUv2 native 4 KiB table kit. Builds and programs stage-1/stage-2 context tables.

Repository Maintainer Scope
ArmSmmu4K UniXNU ARM SMMUv2 native 4 KiB table kit. Builds and programs stage-1/stage-2 context tables.

State

Used by Adreno740 and the storage drivers.

Live updates map or unmap a batch of pages in one transaction: one page publication, one TLB synchronization and one recheck per batch. ArmSmmu4KLiveMapContextBatchExclusive maps pages the caller owns exclusively and skips the alias check against the existing ranges; the changes are still checked against each other. An unmap of up to 512 pages invalidates each removed page with TLBIVAL; a larger unmap invalidates the ASID.

Build

The consuming driver's recipe compiles the kit sources. sheng includes ArmSmmu4K*.c in its GPU archive. Supply MMIO, context/stream ownership and allocation callbacks as described in platform adaptation.