summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/xen
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2010-02-09 14:30:55 -0500
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2010-07-27 11:51:02 -0400
commitbbbe57386e857eb2a8d4abcae71063c819c06ff1 (patch)
treeb701630e53fdd848c170bd739803530f00c2f4f5 /arch/x86/include/asm/xen
parentb097186fd29d5bc5a26d1ae87995821ffc27b66e (diff)
downloadlinux-3.10-bbbe57386e857eb2a8d4abcae71063c819c06ff1.tar.gz
linux-3.10-bbbe57386e857eb2a8d4abcae71063c819c06ff1.tar.bz2
linux-3.10-bbbe57386e857eb2a8d4abcae71063c819c06ff1.zip
pci-swiotlb-xen: Add glue code to setup dma_ops utilizing xen_swiotlb_*
functions. We add the glue code that sets up a dma_ops structure with the xen_swiotlb_* functions. The code turns on xen_swiotlb flag when it detects it is running under Xen and it is either in privileged mode or the iommu=soft flag was passed in. It also disables the bare-metal SWIOTLB if the Xen-SWIOTLB has been enabled. Note: The Xen-SWIOTLB is only built when CONFIG_XEN is enabled. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Acked-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: Albert Herranz <albert_herranz@yahoo.es> Cc: Ian Campbell <Ian.Campbell@citrix.com>
Diffstat (limited to 'arch/x86/include/asm/xen')
-rw-r--r--arch/x86/include/asm/xen/swiotlb-xen.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/x86/include/asm/xen/swiotlb-xen.h b/arch/x86/include/asm/xen/swiotlb-xen.h
new file mode 100644
index 00000000000..1be1ab7d6a4
--- /dev/null
+++ b/arch/x86/include/asm/xen/swiotlb-xen.h
@@ -0,0 +1,14 @@
+#ifndef _ASM_X86_SWIOTLB_XEN_H
+#define _ASM_X86_SWIOTLB_XEN_H
+
+#ifdef CONFIG_SWIOTLB_XEN
+extern int xen_swiotlb;
+extern int __init pci_xen_swiotlb_detect(void);
+extern void __init pci_xen_swiotlb_init(void);
+#else
+#define xen_swiotlb (0)
+static inline int __init pci_xen_swiotlb_detect(void) { return 0; }
+static inline void __init pci_xen_swiotlb_init(void) { }
+#endif
+
+#endif /* _ASM_X86_SWIOTLB_XEN_H */