Lines Matching refs:secs
58 static int sgx_encl_create(struct sgx_encl *encl, struct sgx_secs *secs) in sgx_encl_create() argument
72 if (!is_power_of_2(secs->size)) in sgx_encl_create()
83 encl_size = secs->size + PAGE_SIZE; in sgx_encl_create()
94 secs_epc = sgx_alloc_epc_page(&encl->secs, true); in sgx_encl_create()
100 encl->secs.epc_page = secs_epc; in sgx_encl_create()
103 pginfo.contents = (unsigned long)secs; in sgx_encl_create()
105 pginfo.secs = 0; in sgx_encl_create()
114 if (secs->attributes & SGX_ATTR_DEBUG) in sgx_encl_create()
117 encl->secs.encl = encl; in sgx_encl_create()
118 encl->secs.type = SGX_PAGE_TYPE_SECS; in sgx_encl_create()
119 encl->base = secs->base; in sgx_encl_create()
120 encl->size = secs->size; in sgx_encl_create()
121 encl->attributes = secs->attributes; in sgx_encl_create()
130 sgx_encl_free_epc_page(encl->secs.epc_page); in sgx_encl_create()
131 encl->secs.epc_page = NULL; in sgx_encl_create()
158 void *secs; in sgx_ioc_enclave_create() local
167 secs = kmalloc(PAGE_SIZE, GFP_KERNEL); in sgx_ioc_enclave_create()
168 if (!secs) in sgx_ioc_enclave_create()
171 if (copy_from_user(secs, (void __user *)create_arg.src, PAGE_SIZE)) in sgx_ioc_enclave_create()
174 ret = sgx_encl_create(encl, secs); in sgx_ioc_enclave_create()
176 kfree(secs); in sgx_ioc_enclave_create()
229 pginfo.secs = (unsigned long)sgx_get_epc_virt_addr(encl->secs.epc_page); in __sgx_encl_add_page()
254 ret = __eextend(sgx_get_epc_virt_addr(encl->secs.epc_page), in __sgx_encl_extend()
514 addr = sgx_get_epc_virt_addr(encl->secs.epc_page); in sgx_encl_init()
679 epc_virt = sgx_get_epc_virt_addr(encl->secs.epc_page); in sgx_enclave_etrack()