diff options
author | Clément Mathieu--Drif <clement.mathieu--drif@eviden.com> | 2024-07-09 14:26:08 +0000 |
---|---|---|
committer | Michael Tokarev <mjt@tls.msk.ru> | 2024-07-24 07:42:15 +0300 |
commit | 7182f4df2256589a953d134f8c683749d4fad8b4 (patch) | |
tree | c4a9eecd52ad4a7a1f2062784474d71f83b79a75 | |
parent | 8bfe0f8ddacda77f8db6d4b22553ce913640eac4 (diff) |
intel_iommu: fix FRCD construction macro
The constant must be unsigned, otherwise the two's complement
overrides the other fields when a PASID is present.
Fixes: 1b2b12376c8a ("intel-iommu: PASID support")
Signed-off-by: Clément Mathieu--Drif <clement.mathieu--drif@eviden.com>
Reviewed-by: Yi Liu <yi.l.liu@intel.com>
Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Minwoo Im <minwoo.im@samsung.com>
Message-Id: <20240709142557.317271-2-clement.mathieu--drif@eviden.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit a3c8d7e38550c3d5a46e6fa94ffadfa625a4861d)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
(Mjt: context fix)
-rw-r--r-- | hw/i386/intel_iommu_internal.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h index e4d43ce48c..830e319e34 100644 --- a/hw/i386/intel_iommu_internal.h +++ b/hw/i386/intel_iommu_internal.h @@ -267,7 +267,7 @@ /* For the low 64-bit of 128-bit */ #define VTD_FRCD_FI(val) ((val) & ~0xfffULL) #define VTD_FRCD_PV(val) (((val) & 0xffffULL) << 40) -#define VTD_FRCD_PP(val) (((val) & 0x1) << 31) +#define VTD_FRCD_PP(val) (((val) & 0x1ULL) << 31) /* DMA Remapping Fault Conditions */ typedef enum VTDFaultReason { |