Tao Tang <[email protected]> writes: > Introduce qos-smmuv3, a reusable library for SMMUv3-related qtest > operations. This module encapsulates common tasks like: > > - SMMUv3 initialization (enabling, configuring command/event queues) > - Stream Table Entry (STE) and Context Descriptor (CD) setup > - Multi-level page table construction (L0-L3 for 4KB granules) > - Support for Stage 1, Stage 2, and nested translation modes > - Could be easily extended to support multi-space testing infrastructure > (Non-Secure, Secure, Root, Realm) > > The library provides high-level abstractions that allow test code to > focus on IOMMU behavior validation rather than low-level register > manipulation and page table encoding. Key features include: > > - Automatic memory allocation for translation structures with proper > alignment > - Helper functions to build valid STEs/CDs for different translation > scenarios > - Page table walkers that handle address offset calculations per > security space > - Command queue management for SMMU configuration commands > > This infrastructure is designed to be used by iommu-testdev-based tests > and future SMMUv3 test suites, reducing code duplication and improving > test maintainability. > > Signed-off-by: Tao Tang <[email protected]>
To the best of my ability: Reviewed-by: Fabiano Rosas <[email protected]>
