qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Liu, Yi L" <yi.l.liu@linux.intel.com>
To: qemu-devel@nongnu.org, peterx@redhat.com, jasowang@redhat.com
Cc: yi.l.liu@intel.com, "Liu, Yi L" <yi.l.liu@linux.intel.com>
Subject: [Qemu-devel] [PATCH] intel_iommu: a fix to vtd_dev_get_trans_type()
Date: Thu, 21 Dec 2017 14:15:19 +0800	[thread overview]
Message-ID: <1513836919-13458-1-git-send-email-yi.l.liu@linux.intel.com> (raw)

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 <yi.l.liu@linux.intel.com>
---
 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	other threads:[~2017-12-21  6:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-21  6:15 Liu, Yi L [this message]
2017-12-21  6:39 ` [Qemu-devel] [PATCH] intel_iommu: a fix to vtd_dev_get_trans_type() no-reply
2017-12-21  6:53 ` no-reply
2017-12-25  5:45 ` Peter Xu
2017-12-25  6:19   ` Liu, Yi L
2017-12-25  6:57     ` Peter Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1513836919-13458-1-git-send-email-yi.l.liu@linux.intel.com \
    --to=yi.l.liu@linux.intel.com \
    --cc=jasowang@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=yi.l.liu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).