| #ifndef __VKI_XEN_TMEM_H |
| #define __VKI_XEN_TMEM_H |
| |
| typedef VKI_XEN_GUEST_HANDLE(char) vki_xen_tmem_cli_va_t; |
| |
| |
| /* version of ABI */ |
| #define VKI_XEN_TMEM_spec_version 1 |
| |
| /* Commands to HYPERVISOR_tmem_op() */ |
| #define VKI_XEN_TMEM_control 0 |
| #define VKI_XEN_TMEM_new_pool 1 |
| #define VKI_XEN_TMEM_destroy_pool 2 |
| #define VKI_XEN_TMEM_new_page 3 |
| #define VKI_XEN_TMEM_put_page 4 |
| #define VKI_XEN_TMEM_get_page 5 |
| #define VKI_XEN_TMEM_flush_page 6 |
| #define VKI_XEN_TMEM_flush_object 7 |
| #define VKI_XEN_TMEM_read 8 |
| #define VKI_XEN_TMEM_write 9 |
| #define VKI_XEN_TMEM_xchg 10 |
| /* Privileged commands to HYPERVISOR_tmem_op() */ |
| #define VKI_XEN_tmem_auth 101 |
| #define VKI_XEN_tmem_restore_new 102 |
| |
| /* for cmd = TMEM_CONTROL */ |
| struct vki_xen_tmem_ctrl { |
| vki_uint32_t subop; |
| |
| /* Subops for HYPERVISOR_tmem_op(TMEM_CONTROL) */ |
| #define VKI_XEN_TMEMC_thaw 0 |
| #define VKI_XEN_TMEMC_freeze 1 |
| #define VKI_XEN_TMEMC_flush 2 |
| #define VKI_XEN_TMEMC_destroy 3 |
| #define VKI_XEN_TMEMC_list 4 |
| #define VKI_XEN_TMEMC_set_weight 5 |
| #define VKI_XEN_TMEMC_set_cap 6 |
| #define VKI_XEN_TMEMC_set_compress 7 |
| #define VKI_XEN_TMEMC_query_freeable_mb 8 |
| #define VKI_XEN_TMEMC_save_begin 10 |
| #define VKI_XEN_TMEMC_save_get_version 11 |
| #define VKI_XEN_TMEMC_save_get_maxpools 12 |
| #define VKI_XEN_TMEMC_save_get_client_weight 13 |
| #define VKI_XEN_TMEMC_save_get_client_cap 14 |
| #define VKI_XEN_TMEMC_save_get_client_flags 15 |
| #define VKI_XEN_TMEMC_save_get_pool_flags 16 |
| #define VKI_XEN_TMEMC_save_get_pool_npages 17 |
| #define VKI_XEN_TMEMC_save_get_pool_uuid 18 |
| #define VKI_XEN_TMEMC_save_get_next_page 19 |
| #define VKI_XEN_TMEMC_save_get_next_inv 20 |
| #define VKI_XEN_TMEMC_save_end 21 |
| #define VKI_XEN_TMEMC_restore_begin 30 |
| #define VKI_XEN_TMEMC_restore_put_page 32 |
| #define VKI_XEN_TMEMC_restore_flush_page 33 |
| |
| vki_uint32_t cli_id; |
| vki_uint32_t arg1; |
| vki_uint32_t arg2; |
| vki_uint64_t oid[3]; |
| vki_xen_tmem_cli_va_t buf; |
| }; |
| |
| struct vki_xen_tmem_op { |
| vki_uint32_t cmd; |
| vki_int32_t pool_id; |
| union { |
| struct vki_xen_tmem_ctrl ctrl; |
| } u; |
| }; |
| |
| #endif // __VKI_XEN_TMEM_H |
| |
| /*--------------------------------------------------------------------*/ |
| /*--- end ---*/ |
| /*--------------------------------------------------------------------*/ |