Home | History | Annotate | Download | only in vki
      1 #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
     23 #define VKI_XENMEM_claim_pages                24
     24 
     25 struct vki_xen_memory_map {
     26     unsigned int nr_entries;
     27     VKI_XEN_GUEST_HANDLE(void) buffer;
     28 };
     29 
     30 struct vki_xen_foreign_memory_map {
     31     vki_xen_domid_t domid;
     32     struct vki_xen_memory_map map;
     33 };
     34 
     35 struct xen_memory_reservation {
     36     VKI_XEN_GUEST_HANDLE(vki_xen_pfn_t) extent_start;
     37     vki_xen_ulong_t    nr_extents;
     38     unsigned int   extent_order;
     39     unsigned int   mem_flags;
     40     vki_xen_domid_t domid;
     41 };
     42 
     43 struct vki_xen_machphys_mfn_list {
     44     unsigned int max_extents; /* IN */
     45     VKI_XEN_GUEST_HANDLE(vki_xen_pfn_t) extent_start; /* OUT */
     46     unsigned int nr_extents; /* OUT */
     47 };
     48 
     49 struct vki_xen_add_to_physmap {
     50     vki_xen_domid_t domid;
     51     vki_uint16_t size;
     52 
     53 #define VKI_XENMAPSPACE_shared_info  0
     54 #define VKI_XENMAPSPACE_grant_table  1
     55 #define VKI_XENMAPSPACE_gmfn         2
     56 #define VKI_XENMAPSPACE_gmfn_range   3
     57 #define VKI_XENMAPSPACE_gmfn_foreign 4
     58 
     59     unsigned int space;
     60     vki_xen_ulong_t idx;
     61     vki_xen_pfn_t gpfn;
     62 };
     63 
     64 struct vki_xen_remove_from_physmap {
     65     vki_xen_domid_t domid;
     66     vki_xen_pfn_t gpfn;
     67 };
     68 
     69 #endif // __VKI_XEN_MEMORY_H
     70 
     71 /*--------------------------------------------------------------------*/
     72 /*--- end                                                          ---*/
     73 /*--------------------------------------------------------------------*/
     74