Coverage Report

Created: 2017-10-25 09:10

/root/src/xen/xen/include/xen/iocap.h
Line
Count
Source (jump to first uncovered line)
1
/******************************************************************************
2
 * iocap.h
3
 * 
4
 * Per-domain I/O capabilities.
5
 */
6
7
#ifndef __XEN_IOCAP_H__
8
#define __XEN_IOCAP_H__
9
10
#include <xen/rangeset.h>
11
#include <asm/iocap.h>
12
13
#define iomem_permit_access(d, s, e)                    \
14
0
    rangeset_add_range((d)->iomem_caps, s, e)
15
#define iomem_deny_access(d, s, e)                      \
16
1
    rangeset_remove_range((d)->iomem_caps, s, e)
17
#define iomem_access_permitted(d, s, e)                 \
18
0
    rangeset_contains_range((d)->iomem_caps, s, e)
19
20
#define irq_permit_access(d, i)                         \
21
90
    rangeset_add_singleton((d)->irq_caps, i)
22
#define irq_deny_access(d, i)                           \
23
0
    rangeset_remove_singleton((d)->irq_caps, i)
24
#define irqs_permit_access(d, s, e)                     \
25
    rangeset_add_range((d)->irq_caps, s, e)
26
#define irqs_deny_access(d, s, e)                       \
27
    rangeset_remove_range((d)->irq_caps, s, e)
28
#define irq_access_permitted(d, i)                      \
29
48
    rangeset_contains_singleton((d)->irq_caps, i)
30
31
0
#define pirq_access_permitted(d, i) ({                  \
32
0
    struct domain *d__ = (d);                           \
33
0
    int irq__ = domain_pirq_to_irq(d__, i);             \
34
0
    irq__ > 0 && irq_access_permitted(d__, irq__)       \
35
0
    ? irq__ : 0;                                        \
36
0
})
37
38
#endif /* __XEN_IOCAP_H__ */