dev-arm: drain implementation for SMMUv3
authorAdrian Herrera <adrian.herrera@arm.com>
Tue, 18 Jun 2019 15:56:18 +0000 (16:56 +0100)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Wed, 26 Jun 2019 11:58:55 +0000 (11:58 +0000)
commitf82f1dd81b9e2342e1c43fe5c413626c1cde996f
treed810f41a89ce7ad81a12a2762ddf48a8da7ced6e
parent09bc8b6f1177df5fe5de9d2984781cc1fb8b75b4
dev-arm: drain implementation for SMMUv3

SMMUv3 is drained when (1) no SMMU translations are pending
on any of its slave interfaces and (2) no commands are stored
in the Command Queue waiting to be processed.

Change-Id: I81cef5fd821fa5e509e130af02aece5239493df5
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19309
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_cmdexec.cc
src/dev/arm/smmu_v3_slaveifc.cc
src/dev/arm/smmu_v3_slaveifc.hh
src/dev/arm/smmu_v3_transl.cc