1436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#ifndef __VKI_XEN_MEMORY_H 2436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define __VKI_XEN_MEMORY_H 3436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 4436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_increase_reservation 0 5436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_decrease_reservation 1 6436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_maximum_ram_page 2 7436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_current_reservation 3 8436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_maximum_reservation 4 9436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_machphys_mfn_list 5 10436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_populate_physmap 6 11436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_add_to_physmap 7 12436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_memory_map 9 13436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_machine_memory_map 10 14436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_exchange 11 15436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_machphys_mapping 12 16436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_set_memory_map 13 17436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_maximum_gpfn 14 18436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_remove_from_physmap 15 19436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_set_pod_target 16 20436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_get_pod_target 17 21436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_get_sharing_freed_pages 18 22436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_get_sharing_shared_pages 19 23436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMEM_claim_pages 24 24436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 25436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovstruct vki_xen_memory_map { 26436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov unsigned int nr_entries; 27436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov VKI_XEN_GUEST_HANDLE(void) buffer; 28436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov}; 29436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 30436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovstruct vki_xen_foreign_memory_map { 31436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov vki_xen_domid_t domid; 32436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov struct vki_xen_memory_map map; 33436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov}; 34436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 35436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovstruct xen_memory_reservation { 36436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov VKI_XEN_GUEST_HANDLE(vki_xen_pfn_t) extent_start; 37436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov vki_xen_ulong_t nr_extents; 38436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov unsigned int extent_order; 39436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov unsigned int mem_flags; 40436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov vki_xen_domid_t domid; 41436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov}; 42436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 43436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovstruct vki_xen_machphys_mfn_list { 44436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov unsigned int max_extents; /* IN */ 45436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov VKI_XEN_GUEST_HANDLE(vki_xen_pfn_t) extent_start; /* OUT */ 46436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov unsigned int nr_extents; /* OUT */ 47436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov}; 48436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 49436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovstruct vki_xen_add_to_physmap { 50436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov vki_xen_domid_t domid; 51436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov vki_uint16_t size; 52436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 53436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMAPSPACE_shared_info 0 54436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMAPSPACE_grant_table 1 55436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMAPSPACE_gmfn 2 56436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMAPSPACE_gmfn_range 3 57436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define VKI_XENMAPSPACE_gmfn_foreign 4 58436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 59436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov unsigned int space; 60436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov vki_xen_ulong_t idx; 61436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov vki_xen_pfn_t gpfn; 62436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov}; 63436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 64436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovstruct vki_xen_remove_from_physmap { 65436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov vki_xen_domid_t domid; 66436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov vki_xen_pfn_t gpfn; 67436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov}; 68436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 69436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#endif // __VKI_XEN_MEMORY_H 70436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 71436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov/*--------------------------------------------------------------------*/ 72436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov/*--- end ---*/ 73436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov/*--------------------------------------------------------------------*/ 74