On Mon, Oct 07, 2024 at 08:57:07AM +0000, Gowans, James wrote: > With the ARM SMMUv3 for example I think there are break-before-make > requirement, so is it possible to do an atomic switch of the SMMUv3 page > table PGD in a hitless way? The BBM rules are only about cached translations. If all your IOPTEs result in the same translation *size* then you are safe. You can change the radix memory storing the IOPTEs freely, AFAIK. BBM level 2 capable HW doesn't have those limitations either and everything is possible. Jason