File 19173-pci-passthrough-fix.patch of Package xen
# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1234436861 0
# Node ID 32716b42aac9db600313add3d4cb48551f9b11d1
# Parent 0ae7eade15f4e70410b412a2b35d9102efea4f24
Fix PCI passthrough for devices w/o iomem.
From: Manuel Bouyer <bouyer@netbsd.org>
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
xen-unstable changeset: 19173:92557a0b021fe02a69f6ce7fc5660d50b8f092c8
xen-unstable date: Thu Feb 05 15:08:53 2009 +0000
Index: xen-3.3.1-testing/xen/include/asm-x86/iocap.h
===================================================================
--- xen-3.3.1-testing.orig/xen/include/asm-x86/iocap.h
+++ xen-3.3.1-testing/xen/include/asm-x86/iocap.h
@@ -14,7 +14,8 @@
#define ioports_access_permitted(d, s, e) \
rangeset_contains_range((d)->arch.ioport_caps, s, e)
-#define cache_flush_permitted(d) \
- (!rangeset_is_empty((d)->iomem_caps))
+#define cache_flush_permitted(d) \
+ (!rangeset_is_empty((d)->iomem_caps) || \
+ !rangeset_is_empty((d)->arch.ioport_caps))
#endif /* __X86_IOCAP_H__ */
Index: xen-3.3.1-testing/xen/include/xen/iocap.h
===================================================================
--- xen-3.3.1-testing.orig/xen/include/xen/iocap.h
+++ xen-3.3.1-testing/xen/include/xen/iocap.h
@@ -29,6 +29,7 @@
rangeset_contains_singleton((d)->irq_caps, i)
#define multipage_allocation_permitted(d) \
- (!rangeset_is_empty((d)->iomem_caps))
+ (!rangeset_is_empty((d)->iomem_caps) || \
+ !rangeset_is_empty((d)->arch.ioport_caps))
#endif /* __XEN_IOCAP_H__ */