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__ */
openSUSE Build Service is sponsored by