diff options
| author | Eric Auger <eric.auger@redhat.com> | 2020-07-28 17:08:11 +0200 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2020-08-24 10:02:06 +0100 |
| commit | d52915616c059ed273caa2d496b58e5d215c5962 (patch) | |
| tree | c854e261fd162af4be9f7ed42db96b31524b799c /include/hw/arm | |
| parent | c0f9ef70377cfcbd0fa6559d5dc729a930d71b7c (diff) | |
| download | focaccia-qemu-d52915616c059ed273caa2d496b58e5d215c5962.tar.gz focaccia-qemu-d52915616c059ed273caa2d496b58e5d215c5962.zip | |
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>
Diffstat (limited to 'include/hw/arm')
| -rw-r--r-- | include/hw/arm/smmu-common.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/hw/arm/smmu-common.h b/include/hw/arm/smmu-common.h index ece62c3652..4f6acf634c 100644 --- a/include/hw/arm/smmu-common.h +++ b/include/hw/arm/smmu-common.h @@ -168,7 +168,8 @@ SMMUIOTLBKey smmu_get_iotlb_key(uint16_t asid, uint64_t iova, uint8_t tg, uint8_t level); void smmu_iotlb_inv_all(SMMUState *s); void smmu_iotlb_inv_asid(SMMUState *s, uint16_t asid); -void smmu_iotlb_inv_iova(SMMUState *s, int asid, dma_addr_t iova); +void smmu_iotlb_inv_iova(SMMUState *s, int asid, dma_addr_t iova, + uint8_t tg, uint64_t num_pages, uint8_t ttl); /* Unmap the range of all the notifiers registered to any IOMMU mr */ void smmu_inv_notifiers_all(SMMUState *s); |