[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
- [Qemu-devel] [PATCH] intel_iommu: a fix to vtd_dev_get_trans_type(),
Liu, Yi L <=