Files
xemu/include/hw
Zhenzhong Duan 16d4e418e9 intel_iommu: Flush stage-1 cache in iotlb invalidation
According to spec, Page-Selective-within-Domain Invalidation (11b):

1. IOTLB entries caching second-stage mappings (PGTT=010b) or pass-through
(PGTT=100b) mappings associated with the specified domain-id and the
input-address range are invalidated.
2. IOTLB entries caching first-stage (PGTT=001b) or nested (PGTT=011b)
mapping associated with specified domain-id are invalidated.

So per spec definition the Page-Selective-within-Domain Invalidation
needs to flush first stage and nested cached IOTLB entries as well.

We don't support nested yet and pass-through mapping is never cached,
so what in iotlb cache are only first-stage and second-stage mappings.

Add a tag pgtt in VTDIOTLBEntry to mark PGTT type of the mapping and
invalidate entries based on PGTT type.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Clément Mathieu--Drif<clement.mathieu--drif@eviden.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Yi Liu <yi.l.liu@intel.com>
Message-Id: <20241212083757.605022-11-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2025-01-15 13:06:20 -05:00
..
2024-10-15 15:16:17 +01:00
2024-12-20 17:44:56 +01:00
2024-10-15 15:16:17 +01:00
…
2024-12-20 17:44:56 +01:00
…
2024-12-20 17:44:56 +01:00
2024-12-20 17:44:56 +01:00
2024-10-01 14:41:10 +01:00
…
2024-12-20 17:44:56 +01:00
…
2024-12-20 17:44:56 +01:00
2025-01-13 17:16:04 +01:00
2024-12-20 17:44:56 +01:00
…
…
2024-06-16 21:08:54 +02:00
2024-12-20 17:44:56 +01:00
2024-12-10 18:49:24 +01:00
…
…
…
…
…
2024-09-24 11:33:35 +02:00
…
2025-01-13 17:07:00 +01:00