#define ioports_access_permitted(d, s, e) \
rangeset_contains_range((d)->arch.ioport_caps, s, e)
-#define cache_flush_permitted(d) \
+#define has_arch_io_resources(d) \
(!rangeset_is_empty((d)->iomem_caps) || \
!rangeset_is_empty((d)->arch.ioport_caps))
+#define cache_flush_permitted has_arch_io_resources
+
static inline int ioports_permit_access(struct domain *d, unsigned long s,
unsigned long e)
{
#define l1_disallow_mask(d) \
(((d) != dom_io) && \
- (rangeset_is_empty((d)->iomem_caps) && \
- rangeset_is_empty((d)->arch.ioport_caps) && \
+ (!has_arch_io_resources(d) && \
!has_arch_pdevs(d) && \
is_pv_domain(d)) ? \
L1_DISALLOW_MASK : (L1_DISALLOW_MASK & ~PAGE_CACHE_ATTRS))
ASSERT( pod_target >= p2m->pod.count );
- if ( has_arch_pdevs(d) || cache_flush_permitted(d) )
+ if ( has_arch_pdevs(d) || has_arch_io_resources(d) )
ret = -ENOTEMPTY;
else
ret = p2m_pod_set_cache_target(p2m, pod_target, 1/*preemptible*/);
if ( !paging_mode_translate(d) )
return -EINVAL;
- if ( has_arch_pdevs(d) || cache_flush_permitted(d) )
+ if ( has_arch_pdevs(d) || has_arch_io_resources(d) )
return -ENOTEMPTY;
do {
unsigned int order = domu_max_order;
#ifdef CONFIG_HAS_PASSTHROUGH
- if ( cache_flush_permitted(d) && order < ptdom_max_order )
+ if ( has_arch_io_resources(d) && order < ptdom_max_order )
order = ptdom_max_order;
#endif
#ifndef __ASM_GENERIC_IOCAP_H__
#define __ASM_GENERIC_IOCAP_H__
-#define cache_flush_permitted(d) \
+#define has_arch_io_resources(d) \
(!rangeset_is_empty((d)->iomem_caps))
+#define cache_flush_permitted has_arch_io_resources
+
#endif /* __ASM_GENERIC_IOCAP_H__ */
/*