From 686f69b6c1c0fab21801131b00e0127900d795d6 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Thu, 5 Feb 2009 15:08:53 +0000 Subject: Fix PCI passthrough for devices w/o iomem. From: Manuel Bouyer Signed-off-by: Christoph Egger --- xen/include/asm-x86/iocap.h | 5 +++-- xen/include/xen/iocap.h | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/xen/include/asm-x86/iocap.h b/xen/include/asm-x86/iocap.h index c7463cb6f2..eee47228d4 100644 --- a/xen/include/asm-x86/iocap.h +++ b/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__ */ diff --git a/xen/include/xen/iocap.h b/xen/include/xen/iocap.h index db461b9dcb..c32604d9c9 100644 --- a/xen/include/xen/iocap.h +++ b/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__ */ -- cgit v1.2.3