Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs
Visible to Intel only — GUID: afh1675368469204
Ixiasoft
Visible to Intel only — GUID: afh1675368469204
Ixiasoft
4.3.7. SMMU Programming Model
SMMU has three interfaces that software uses:
- Base-address for Memory-based data structure
- Memory-based circular buffer queues (Command queue and Event queue)
- A set of registers for SMMU global configuration
The StreamID corresponding to a device that initiate a transaction over SMMU. As per recommendation, StreamID should be dense namespace starting at 0.
StreamID is used to select a Stream Table Entry (STE) in Stream table which contains the per device configuration.
The size of Stream ID is programmed in the field of SIDSIZE[5:0] of SMMU_IDR1 register.
Section Content
Initializing the SMMU
Assigning Stream IDs
Allocating the Command Queue
Allocating the Event Queue
Configuring the Stream Table
Initializing the Command Queue
Initializing the Event Queue
Invalidate TLBs and Configuration caches
Create Context Descriptor
Creating Stream Table Entry
Enabling the SMMU