> From: Jason Gunthorpe <[email protected]> > Sent: Wednesday, October 8, 2025 12:12 AM > > The iommufd self test uses an xarray to store the pfns and their orders to > emulate a page table. Make it act more like a real iommu driver by > replacing the xarray with an iommupt based page table. The new AMDv1 > mock > format behaves similarly to the xarray. > > Add set_dirty() as a iommu_pt operation to allow the test suite to > simulate HW dirty. > > Userspace can select between several formats including the normal AMDv1 > format and a special MOCK_IOMMUPT_HUGE variation for testing huge page > dirty tracking. To make the dirty tracking test work the page table must > only store exactly 2M huge pages otherwise the logic the test uses > fails. They cannot be broken up or combined. > > Aside from aligning the selftest with a real page table implementation, > this helps test the iommupt code itself. > > Tested-by: Alejandro Jimenez <[email protected]> > Signed-off-by: Jason Gunthorpe <[email protected]>
Reviewed-by: Kevin Tian <[email protected]>
