blob: 2690c60c260e7bc8ca9b53de5d1a5540afcc8b66 [file] [log] [blame]
bart51e61da2012-10-23 18:03:28 +00001#ifndef __VKI_XEN_MEMORY_H
2#define __VKI_XEN_MEMORY_H
3
4#define VKI_XENMEM_increase_reservation 0
5#define VKI_XENMEM_decrease_reservation 1
6#define VKI_XENMEM_maximum_ram_page 2
7#define VKI_XENMEM_current_reservation 3
8#define VKI_XENMEM_maximum_reservation 4
9#define VKI_XENMEM_machphys_mfn_list 5
10#define VKI_XENMEM_populate_physmap 6
11#define VKI_XENMEM_add_to_physmap 7
12#define VKI_XENMEM_memory_map 9
13#define VKI_XENMEM_machine_memory_map 10
14#define VKI_XENMEM_exchange 11
15#define VKI_XENMEM_machphys_mapping 12
16#define VKI_XENMEM_set_memory_map 13
17#define VKI_XENMEM_maximum_gpfn 14
18#define VKI_XENMEM_remove_from_physmap 15
19#define VKI_XENMEM_set_pod_target 16
20#define VKI_XENMEM_get_pod_target 17
21#define VKI_XENMEM_get_sharing_freed_pages 18
22#define VKI_XENMEM_get_sharing_shared_pages 19
sewardj9e4ec3a2014-09-04 10:59:50 +000023#define VKI_XENMEM_access_op 21
bart68495eb2013-06-30 07:58:19 +000024#define VKI_XENMEM_claim_pages 24
bart51e61da2012-10-23 18:03:28 +000025
26struct vki_xen_memory_map {
27 unsigned int nr_entries;
28 VKI_XEN_GUEST_HANDLE(void) buffer;
29};
30
31struct vki_xen_foreign_memory_map {
32 vki_xen_domid_t domid;
33 struct vki_xen_memory_map map;
34};
35
36struct xen_memory_reservation {
37 VKI_XEN_GUEST_HANDLE(vki_xen_pfn_t) extent_start;
38 vki_xen_ulong_t nr_extents;
39 unsigned int extent_order;
40 unsigned int mem_flags;
41 vki_xen_domid_t domid;
42};
43
bart1d528a72013-12-01 10:54:06 +000044struct vki_xen_machphys_mfn_list {
45 unsigned int max_extents; /* IN */
46 VKI_XEN_GUEST_HANDLE(vki_xen_pfn_t) extent_start; /* OUT */
47 unsigned int nr_extents; /* OUT */
48};
49
bart39d4ba52013-12-01 10:54:42 +000050struct vki_xen_add_to_physmap {
51 vki_xen_domid_t domid;
52 vki_uint16_t size;
53
54#define VKI_XENMAPSPACE_shared_info 0
55#define VKI_XENMAPSPACE_grant_table 1
56#define VKI_XENMAPSPACE_gmfn 2
57#define VKI_XENMAPSPACE_gmfn_range 3
58#define VKI_XENMAPSPACE_gmfn_foreign 4
59
60 unsigned int space;
61 vki_xen_ulong_t idx;
62 vki_xen_pfn_t gpfn;
63};
64
bart9bd4cfc2013-12-01 10:55:13 +000065struct vki_xen_remove_from_physmap {
66 vki_xen_domid_t domid;
67 vki_xen_pfn_t gpfn;
68};
69
sewardj9e4ec3a2014-09-04 10:59:50 +000070struct vki_xen_mem_event_op {
71 vki_uint8_t op;
72 vki_xen_domid_t domain;
73 vki_uint64_t buffer;
74 vki_uint64_t gfn;
75};
76
bart51e61da2012-10-23 18:03:28 +000077#endif // __VKI_XEN_MEMORY_H
78
79/*--------------------------------------------------------------------*/
80/*--- end ---*/
81/*--------------------------------------------------------------------*/