#ifndef CASM_IOCTL_H
#define CASM_IOCTL_H
#include "svm_pub.h"
#include "svm_addr_desc.h"
#define SVM_CASM_TASK_OP_ADD 0U
#define SVM_CASM_TASK_OP_DEL 1U
#define SVM_CASM_TASK_OP_CHECK 2U
#define SVM_CASM_TASK_OP_MAX 3U
struct svm_casm_create_key_para {
u32 task_type;
u64 va;
u64 size;
u64 key;
u64 rsv;
};
struct svm_casm_destroy_key_para {
u64 key;
u64 rsv;
};
struct svm_casm_op_task_para {
u32 op;
u64 key;
u32 server_id;
int tgid;
u64 rsv;
};
struct svm_casm_get_src_va_para {
u64 key;
struct svm_global_va src_va;
u64 ex_info;
u64 rsv;
};
struct svm_casm_mem_pin_para {
u64 va;
u64 size;
u64 key;
u64 rsv;
};
struct svm_casm_mem_unpin_para {
u64 va;
u64 size;
u64 rsv;
};
struct svm_casm_cs_query_src_para {
u64 key;
struct svm_global_va src_va;
int owner_pid;
u64 rsv;
};
struct svm_casm_cs_set_src_para {
u64 key;
struct svm_global_va src_va;
int owner_pid;
u64 rsv;
};
struct svm_casm_cs_clr_src_para {
u64 key;
u64 rsv;
};
#endif