diff options
| author | Peter Xu | 2017-05-19 05:19:44 +0200 |
|---|---|---|
| committer | Michael S. Tsirkin | 2017-05-25 20:25:27 +0200 |
| commit | 127ff5c356e1c2c1328ed2fbb582eb14e412b160 (patch) | |
| tree | 9f707d679b63d70495c5cfc4db09a9f14bd286f1 | |
| parent | intel_iommu: renaming context entry helpers (diff) | |
| download | qemu-127ff5c356e1c2c1328ed2fbb582eb14e412b160.tar.gz qemu-127ff5c356e1c2c1328ed2fbb582eb14e412b160.tar.xz qemu-127ff5c356e1c2c1328ed2fbb582eb14e412b160.zip | |
intel_iommu: provide vtd_ce_get_type()
Helper to fetch VT-d context entry type.
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Jason Wang <jasowang@redhat.com>
| -rw-r--r-- | hw/i386/intel_iommu.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index f06055f053..b4771430e0 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -595,6 +595,11 @@ static inline uint32_t vtd_ce_get_agaw(VTDContextEntry *ce) return 30 + (ce->hi & VTD_CONTEXT_ENTRY_AW) * 9; } +static inline uint32_t vtd_ce_get_type(VTDContextEntry *ce) +{ + return ce->lo & VTD_CONTEXT_ENTRY_TT; +} + static inline uint64_t vtd_iova_limit(VTDContextEntry *ce) { uint32_t ce_agaw = vtd_ce_get_agaw(ce); @@ -865,7 +870,7 @@ static int vtd_dev_to_context_entry(IntelIOMMUState *s, uint8_t bus_num, trace_vtd_ce_invalid(ce->hi, ce->lo); return -VTD_FR_CONTEXT_ENTRY_INV; } else { - switch (ce->lo & VTD_CONTEXT_ENTRY_TT) { + switch (vtd_ce_get_type(ce)) { case VTD_CONTEXT_TT_MULTI_LEVEL: /* fall through */ case VTD_CONTEXT_TT_DEV_IOTLB: |
