Missing file from prev c/s
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 14 Oct 2008 10:29:46 +0000 (11:29 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 14 Oct 2008 10:29:46 +0000 (11:29 +0100)
xen/include/asm-x86/hvm/iommu.h [new file with mode: 0644]

diff --git a/xen/include/asm-x86/hvm/iommu.h b/xen/include/asm-x86/hvm/iommu.h
new file mode 100644 (file)
index 0000000..283c920
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef __ASM_X86_HVM_IOMMU_H__
+#define __ASM_X86_HVM_IOMMU_H__
+
+struct iommu_ops;
+extern struct iommu_ops intel_iommu_ops;
+extern struct iommu_ops amd_iommu_ops;
+extern int intel_vtd_setup(void);
+extern int amd_iov_detect(void);
+
+static inline struct iommu_ops *iommu_get_ops(void)
+{   
+    switch ( boot_cpu_data.x86_vendor )
+    {
+    case X86_VENDOR_INTEL:
+        return &intel_iommu_ops;
+    case X86_VENDOR_AMD:
+        return &amd_iommu_ops;
+    default:
+        BUG();
+    }
+}
+
+static inline int iommu_hardware_setup(void)
+{
+    switch ( boot_cpu_data.x86_vendor )
+    {
+    case X86_VENDOR_INTEL:
+        return intel_vtd_setup();
+    case X86_VENDOR_AMD:
+        return amd_iov_detect();
+    default:
+        BUG();
+    }
+}
+#endif /* __ASM_X86_HVM_IOMMU_H__ */