|
@@ -41,6 +41,8 @@
|
|
#include <asm-generic/int-ll64.h>
|
|
#include <asm-generic/int-ll64.h>
|
|
#include <asm/page.h>
|
|
#include <asm/page.h>
|
|
|
|
|
|
|
|
+#include <xen/xen.h>
|
|
|
|
+
|
|
#define build_mmio_read(name, size, type, reg, barrier) \
|
|
#define build_mmio_read(name, size, type, reg, barrier) \
|
|
static inline type name(const volatile void __iomem *addr) \
|
|
static inline type name(const volatile void __iomem *addr) \
|
|
{ type ret; asm volatile("mov" size " %1,%0":reg (ret) \
|
|
{ type ret; asm volatile("mov" size " %1,%0":reg (ret) \
|
|
@@ -349,6 +351,17 @@ extern void __iomem *early_memremap(resource_size_t phys_addr,
|
|
extern void early_iounmap(void __iomem *addr, unsigned long size);
|
|
extern void early_iounmap(void __iomem *addr, unsigned long size);
|
|
extern void fixup_early_ioremap(void);
|
|
extern void fixup_early_ioremap(void);
|
|
|
|
|
|
|
|
+#ifdef CONFIG_XEN
|
|
|
|
+struct bio_vec;
|
|
|
|
+
|
|
|
|
+extern bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
|
|
|
|
+ const struct bio_vec *vec2);
|
|
|
|
+
|
|
|
|
+#define BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
|
|
|
|
+ (__BIOVEC_PHYS_MERGEABLE(vec1, vec2) && \
|
|
|
|
+ (!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2)))
|
|
|
|
+#endif /* CONFIG_XEN */
|
|
|
|
+
|
|
#define IO_SPACE_LIMIT 0xffff
|
|
#define IO_SPACE_LIMIT 0xffff
|
|
|
|
|
|
#endif /* _ASM_X86_IO_H */
|
|
#endif /* _ASM_X86_IO_H */
|