qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] intel_iommu: a fix to vtd_dev_get_trans_type()


From: Liu, Yi L
Subject: [Qemu-devel] [PATCH] intel_iommu: a fix to vtd_dev_get_trans_type()
Date: Thu, 21 Dec 2017 14:15:19 +0800

vtd_ce_get_type() returns uin32_t and vtd_dev_get_trans_type() returns
the value from vtd_ce_get_type(). However, vtd_dev_get_trans_type()
returns int. This patch switchs to return the translation type by
parameter. It avoids unsigned to int transfer and also avoid potential
reading confusion.

Signed-off-by: Liu, Yi L <address@hidden>
---
 hw/i386/intel_iommu.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index 3a5bb0b..609f087 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -916,7 +916,7 @@ static int vtd_dev_to_context_entry(IntelIOMMUState *s, 
uint8_t bus_num,
  * happens, otherwise return the shifted type to check against
  * VTD_CONTEXT_TT_*.
  */
-static int vtd_dev_get_trans_type(VTDAddressSpace *as)
+static int vtd_dev_get_trans_type(VTDAddressSpace *as, uint32_t *tt)
 {
     IntelIOMMUState *s;
     VTDContextEntry ce;
@@ -930,16 +930,18 @@ static int vtd_dev_get_trans_type(VTDAddressSpace *as)
         return ret;
     }
 
-    return vtd_ce_get_type(&ce);
+    *tt = vtd_ce_get_type(&ce);
+    return 0;
 }
 
 static bool vtd_dev_pt_enabled(VTDAddressSpace *as)
 {
     int ret;
+    uint32_t tt;
 
     assert(as);
 
-    ret = vtd_dev_get_trans_type(as);
+    ret = vtd_dev_get_trans_type(as, &tt);
     if (ret < 0) {
         /*
          * Possibly failed to parse the context entry for some reason
@@ -950,7 +952,7 @@ static bool vtd_dev_pt_enabled(VTDAddressSpace *as)
         return false;
     }
 
-    return ret == VTD_CONTEXT_TT_PASS_THROUGH;
+    return tt == VTD_CONTEXT_TT_PASS_THROUGH;
 }
 
 /* Return whether the device is using IOMMU translation. */
-- 
1.9.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]