1 #ifndef __VKI_XEN_TMEM_H 2 #define __VKI_XEN_TMEM_H 3 4 typedef VKI_XEN_GUEST_HANDLE(char) vki_xen_tmem_cli_va_t; 5 6 7 /* version of ABI */ 8 #define VKI_XEN_TMEM_spec_version 1 9 10 /* Commands to HYPERVISOR_tmem_op() */ 11 #define VKI_XEN_TMEM_control 0 12 #define VKI_XEN_TMEM_new_pool 1 13 #define VKI_XEN_TMEM_destroy_pool 2 14 #define VKI_XEN_TMEM_new_page 3 15 #define VKI_XEN_TMEM_put_page 4 16 #define VKI_XEN_TMEM_get_page 5 17 #define VKI_XEN_TMEM_flush_page 6 18 #define VKI_XEN_TMEM_flush_object 7 19 #define VKI_XEN_TMEM_read 8 20 #define VKI_XEN_TMEM_write 9 21 #define VKI_XEN_TMEM_xchg 10 22 /* Privileged commands to HYPERVISOR_tmem_op() */ 23 #define VKI_XEN_tmem_auth 101 24 #define VKI_XEN_tmem_restore_new 102 25 26 /* for cmd = TMEM_CONTROL */ 27 struct vki_xen_tmem_ctrl { 28 vki_uint32_t subop; 29 30 /* Subops for HYPERVISOR_tmem_op(TMEM_CONTROL) */ 31 #define VKI_XEN_TMEMC_thaw 0 32 #define VKI_XEN_TMEMC_freeze 1 33 #define VKI_XEN_TMEMC_flush 2 34 #define VKI_XEN_TMEMC_destroy 3 35 #define VKI_XEN_TMEMC_list 4 36 #define VKI_XEN_TMEMC_set_weight 5 37 #define VKI_XEN_TMEMC_set_cap 6 38 #define VKI_XEN_TMEMC_set_compress 7 39 #define VKI_XEN_TMEMC_query_freeable_mb 8 40 #define VKI_XEN_TMEMC_save_begin 10 41 #define VKI_XEN_TMEMC_save_get_version 11 42 #define VKI_XEN_TMEMC_save_get_maxpools 12 43 #define VKI_XEN_TMEMC_save_get_client_weight 13 44 #define VKI_XEN_TMEMC_save_get_client_cap 14 45 #define VKI_XEN_TMEMC_save_get_client_flags 15 46 #define VKI_XEN_TMEMC_save_get_pool_flags 16 47 #define VKI_XEN_TMEMC_save_get_pool_npages 17 48 #define VKI_XEN_TMEMC_save_get_pool_uuid 18 49 #define VKI_XEN_TMEMC_save_get_next_page 19 50 #define VKI_XEN_TMEMC_save_get_next_inv 20 51 #define VKI_XEN_TMEMC_save_end 21 52 #define VKI_XEN_TMEMC_restore_begin 30 53 #define VKI_XEN_TMEMC_restore_put_page 32 54 #define VKI_XEN_TMEMC_restore_flush_page 33 55 56 vki_uint32_t cli_id; 57 vki_uint32_t arg1; 58 vki_uint32_t arg2; 59 vki_uint64_t oid[3]; 60 vki_xen_tmem_cli_va_t buf; 61 }; 62 63 struct vki_xen_tmem_op { 64 vki_uint32_t cmd; 65 vki_int32_t pool_id; 66 union { 67 struct vki_xen_tmem_ctrl ctrl; 68 } u; 69 }; 70 71 #endif // __VKI_XEN_TMEM_H 72 73 /*--------------------------------------------------------------------*/ 74 /*--- end ---*/ 75 /*--------------------------------------------------------------------*/ 76