From: Clément Mathieu--Drif Date: Tue, 9 Jul 2024 14:26:08 +0000 (+0000) Subject: intel_iommu: fix FRCD construction macro X-Git-Tag: v7.2.14~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7182f4df2256589a953d134f8c683749d4fad8b4;p=thirdparty%2Fqemu.git 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 Reviewed-by: Yi Liu Reviewed-by: Zhenzhong Duan Reviewed-by: Minwoo Im Message-Id: <20240709142557.317271-2-clement.mathieu--drif@eviden.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin (cherry picked from commit a3c8d7e38550c3d5a46e6fa94ffadfa625a4861d) Signed-off-by: Michael Tokarev (Mjt: context fix) --- diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h index e4d43ce48c7..830e319e342 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 {