hw/arm/smmuv3: Get prepared for range invalidation
commitd52915616c059ed273caa2d496b58e5d215c5962
authorEric Auger <eric.auger@redhat.com>
Tue, 28 Jul 2020 15:08:11 +0000 (28 17:08 +0200)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 24 Aug 2020 09:02:06 +0000 (24 10:02 +0100)
treec854e261fd162af4be9f7ed42db96b31524b799c
parentc0f9ef70377cfcbd0fa6559d5dc729a930d71b7c
hw/arm/smmuv3: Get prepared for range invalidation

Enhance the smmu_iotlb_inv_iova() helper with range invalidation.
This uses the new fields passed in the NH_VA and NH_VAA commands:
the size of the range, the level and the granule.

As NH_VA and NH_VAA both use those fields, their decoding and
handling is factorized in a new smmuv3_s1_range_inval() helper.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20200728150815.11446-8-eric.auger@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/arm/smmu-common.c
hw/arm/smmuv3-internal.h
hw/arm/smmuv3.c
hw/arm/trace-events
include/hw/arm/smmu-common.h