]> www.infradead.org Git - users/dwmw2/qemu.git/commit
intel_iommu: Fix invalidation descriptor type field
authorZhenzhong Duan <zhenzhong.duan@intel.com>
Wed, 14 Aug 2024 07:13:19 +0000 (15:13 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 11 Sep 2024 13:46:14 +0000 (09:46 -0400)
commit663168943d3db6d9b51d3dfa0998848a6e6eda71
tree48cdf2921605ffd9400ec438c846dce62490ee12
parente667485a80ed3f3849ea7421a63fe8ba553cd25e
intel_iommu: Fix invalidation descriptor type field

According to spec, invalidation descriptor type is 7bits which is
concatenation of bits[11:9] and bits[3:0] of invalidation descriptor.

Currently we only pick bits[3:0] as the invalidation type and treat
bits[11:9] as reserved zero. This is not a problem for now as bits[11:9]
is zero for all current invalidation types. But it will break if newer
type occupies bits[11:9].

Fix it by taking bits[11:9] into type and make reserved bits check accurate.

Suggested-by: Clément Mathieu--Drif<clement.mathieu--drif@eviden.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Yi Liu <yi.l.liu@intel.com>
Reviewed-by: Clément Mathieu--Drif<clement.mathieu--drif@eviden.com>
Message-Id: <20240814071321.2621384-2-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/i386/intel_iommu.c
hw/i386/intel_iommu_internal.h