dev-arm: Implement invalidateVA/VAA in SMMUv3 WalkCache
authorAdrian Herrera <adrian.herrera@arm.com>
Tue, 20 Aug 2019 07:33:17 +0000 (08:33 +0100)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Thu, 5 Sep 2019 16:37:18 +0000 (16:37 +0000)
commite06d4f2658b2817b07ea3d71d5554b02f874fee0
treea0965669098866802202b1d7eac150bfd3a32895
parent8d439c29ed86f55c454396fdd03d606cfa13a95a
dev-arm: Implement invalidateVA/VAA in SMMUv3 WalkCache

This patch implements VA/VAA invalidations in the SMMUv3 model.

As per SMMUv3.0 spec, if leaf bit is specified in the invalidation
command, only leaf entries within the walk cache need to be invalidated,
otherwise entries with intermediate translations are also invalidated.

Change-Id: I0eb1e1f1d8c00671a3c23d2a8fb756f2020d8d46
Reviewed-by: Michiel van Tol <michiel.vantol@arm.com>
Reviewed-by: Marc Mari Barcelo <marc.maribarcelo@arm.com>
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20258
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/dev/arm/smmu_v3.cc
src/dev/arm/smmu_v3_caches.cc
src/dev/arm/smmu_v3_caches.hh