aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/hvm/cacheattr.h
blob: 371ce953466cfb88cd03d469801bdbc0ebc2dc2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef __HVM_CACHEATTR_H__
#define __HVM_CACHEATTR_H__

struct hvm_mem_pinned_cacheattr_range {
    struct list_head list;
    uint64_t start, end;
    uint32_t type;
};

void hvm_init_cacheattr_region_list(
    struct domain *d);
void hvm_destroy_cacheattr_region_list(
    struct domain *d);

/*
 * To see guest_fn is in the pinned range or not,
 * if yes, return 1, and set type to value in this range
 * if no,  return 0, and set type to 0
 */
int32_t hvm_get_mem_pinned_cacheattr(
    struct domain *d,
    uint64_t guest_fn,
    uint32_t *type);


/* Set pinned caching type for a domain. */
int32_t hvm_set_mem_pinned_cacheattr(
    struct domain *d,
    uint64_t gfn_start,
    uint64_t gfn_end,
    uint32_t  type);

#endif /* __HVM_CACHEATTR_H__ */