Eric Auger
6d9cd115b9
hw/arm/smmuv3: Enforce invalidation on a power of two range
...
As of today, the driver can invalidate a number of pages that is
not a power of 2. However IOTLB unmap notifications and internal
IOTLB invalidations work with masks leading to erroneous
invalidations.
In case the range is not a power of 2, split invalidations into
power of 2 invalidations.
When looking for a single page entry in the vSMMU internal IOTLB,
let's make sure that if the entry is not found using a
g_hash_table_remove() we iterate over all the entries to find a
potential range that overlaps it.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20210309102742.30442-6-eric.auger@redhat.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2021-03-12 12:40:10 +00:00
..
2020-08-28 10:02:45 +01:00
2020-08-28 15:14:40 +01:00
2021-03-08 17:20:03 +00:00
2021-03-09 06:03:53 +01:00
2021-03-09 12:01:28 +01:00
2021-03-09 12:01:28 +01:00
2020-12-10 12:15:07 -05:00
2020-10-27 11:10:44 +00:00
2020-10-27 11:10:44 +00:00
2020-12-15 12:51:55 -05:00
2020-09-18 14:12:32 -04:00
2020-12-10 12:15:04 -05:00
2021-02-03 10:15:51 +00:00
2020-07-10 15:18:08 +02:00
2020-06-15 22:06:04 +02:00
2020-09-22 16:45:16 -04:00
2020-07-13 14:36:08 +01:00
2020-07-10 15:18:08 +02:00
2020-07-13 14:36:08 +01:00
2020-07-13 14:36:07 +01:00
2020-07-10 15:18:08 +02:00
2020-03-05 16:09:14 +00:00
2021-01-08 15:13:38 +00:00
2020-06-23 16:07:07 +02:00
2020-09-22 16:45:16 -04:00
2021-03-10 13:54:51 +00:00
2020-06-15 22:06:04 +02:00
2021-03-09 06:03:53 +01:00
2020-07-10 15:18:08 +02:00
2020-06-23 16:07:07 +02:00
2020-09-14 14:24:58 +01:00
2021-02-03 10:15:51 +00:00
2021-03-08 17:20:03 +00:00
2021-03-06 13:30:38 +00:00
2020-08-03 17:55:03 +01:00
2020-06-23 16:07:07 +02:00
2021-02-11 11:50:14 +00:00
2021-03-05 15:17:35 +00:00
2021-02-03 10:15:51 +00:00
2021-02-03 10:15:51 +00:00
2021-02-16 13:50:38 +00:00
2021-03-05 15:17:34 +00:00
2020-08-03 17:55:31 +01:00
2020-11-10 11:03:48 +00:00
2020-09-01 11:53:44 +02:00
2020-06-15 22:05:28 +02:00
2020-03-17 15:18:46 +01:00
2021-02-03 10:15:51 +00:00
2020-09-18 14:12:32 -04:00
2020-09-18 14:12:32 -04:00
2020-09-18 14:12:32 -04:00
2020-12-18 15:20:17 -05:00
2020-10-27 11:10:44 +00:00
2020-09-22 16:45:16 -04:00
2021-01-08 15:13:39 +00:00
2021-03-05 15:17:33 +00:00
2021-03-12 12:40:10 +00:00
2020-08-24 10:02:06 +01:00
2020-12-10 11:30:44 +00:00
2021-03-12 12:40:10 +00:00
2020-12-10 12:15:03 -05:00
2021-02-03 10:15:51 +00:00
2020-11-10 11:03:48 +00:00
2020-07-10 15:18:08 +02:00
2020-12-18 15:20:17 -05:00
2019-10-22 17:44:01 +01:00
2020-03-05 12:18:16 -05:00
2020-12-10 12:15:03 -05:00
2020-10-27 11:10:44 +00:00
2020-08-21 06:18:24 -04:00
2020-09-22 16:45:16 -04:00
2020-12-14 14:25:44 -05:00
2021-02-05 08:52:59 -05:00
2021-03-10 15:34:11 +00:00
2020-09-22 16:45:16 -04:00
2020-12-15 12:04:30 +00:00
2021-03-12 12:40:09 +00:00
2021-03-09 06:03:53 +01:00
2021-03-10 13:54:51 +00:00
2021-03-09 06:03:53 +01:00