On 2024/7/2 13:52, CLEMENT MATHIEU--DRIF wrote:
From: Clément Mathieu--Drif <clement.mathieu--d...@eviden.com>

The 'level' field in vtd_iotlb_key is an unsigned integer.
We don't need to store level as an int in vtd_lookup_iotlb.

VTDIOTLBPageInvInfo.mask is used in binary operations with addresses.

Reviewed-by: Yi Liu <yi.l....@intel.com>

Signed-off-by: Clément Mathieu--Drif <clement.mathieu--d...@eviden.com>
---
  hw/i386/intel_iommu.c          | 2 +-
  hw/i386/intel_iommu_internal.h | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index c3c0ecca71..c6474ae735 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -417,7 +417,7 @@ static VTDIOTLBEntry *vtd_lookup_iotlb(IntelIOMMUState *s, 
uint16_t source_id,
  {
      struct vtd_iotlb_key key;
      VTDIOTLBEntry *entry;
-    int level;
+    unsigned level;
for (level = VTD_PT_LEVEL; level < VTD_PML4_LEVEL; level++) {
          key.gfn = vtd_get_iotlb_gfn(addr, level);
diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h
index b19f14ef63..bd20746318 100644
--- a/hw/i386/intel_iommu_internal.h
+++ b/hw/i386/intel_iommu_internal.h
@@ -506,7 +506,7 @@ struct VTDIOTLBPageInvInfo {
      uint16_t domain_id;
      uint32_t pasid;
      uint64_t addr;
-    uint8_t mask;
+    uint64_t mask;
  };
  typedef struct VTDIOTLBPageInvInfo VTDIOTLBPageInvInfo;

--
Regards,
Yi Liu

Reply via email to