aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/iommu.h
diff options
context:
space:
mode:
authorTim Deegan <tim@xen.org>2011-08-23 10:43:25 +0100
committerTim Deegan <tim@xen.org>2011-08-23 10:43:25 +0100
commitce686e3169f5e3aaee650d2120962851d351c9e7 (patch)
tree9ff0b4f23dcd7fcfffa7a76956dde39a1a8ec9fb /xen/include/xen/iommu.h
parent6abdf3c829a15d8e051e2bf3fd231c45b70643f6 (diff)
downloadxen-ce686e3169f5e3aaee650d2120962851d351c9e7.tar.gz
xen-ce686e3169f5e3aaee650d2120962851d351c9e7.tar.bz2
xen-ce686e3169f5e3aaee650d2120962851d351c9e7.zip
IOMMU: only try to share IOMMU and HAP tables for domains with P2M.
This makes the check more precise, and brings VTd in line with AMD code. Signed-off-by: Tim Deegan <tim@xen.org>
Diffstat (limited to 'xen/include/xen/iommu.h')
-rw-r--r--xen/include/xen/iommu.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index a8a60f9ae3..ade8690417 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -34,6 +34,9 @@ extern bool_t iommu_hap_pt_share;
extern bool_t iommu_debug;
extern bool_t amd_iommu_perdev_intremap;
+/* Does this domain have a P2M table we can use as its IOMMU pagetable? */
+#define iommu_use_hap_pt(d) (paging_mode_hap(d) && iommu_hap_pt_share)
+
extern struct rangeset *mmio_ro_ranges;
#define domain_hvm_iommu(d) (&d->arch.hvm_domain.hvm_iommu)