Lines Matching refs:encl_page
19 static int __sgx_encl_eldu(struct sgx_encl_page *encl_page, in __sgx_encl_eldu() argument
23 unsigned long va_offset = encl_page->desc & SGX_ENCL_PAGE_VA_OFFSET_MASK; in __sgx_encl_eldu()
24 struct sgx_encl *encl = encl_page->encl; in __sgx_encl_eldu()
31 page_index = PFN_DOWN(encl_page->desc - encl_page->encl->base); in __sgx_encl_eldu()
39 pginfo.addr = encl_page->desc & PAGE_MASK; in __sgx_encl_eldu()
50 sgx_get_epc_virt_addr(encl_page->va_page->epc_page) + va_offset); in __sgx_encl_eldu()
66 static struct sgx_epc_page *sgx_encl_eldu(struct sgx_encl_page *encl_page, in sgx_encl_eldu() argument
70 unsigned long va_offset = encl_page->desc & SGX_ENCL_PAGE_VA_OFFSET_MASK; in sgx_encl_eldu()
71 struct sgx_encl *encl = encl_page->encl; in sgx_encl_eldu()
75 epc_page = sgx_alloc_epc_page(encl_page, false); in sgx_encl_eldu()
79 ret = __sgx_encl_eldu(encl_page, epc_page, secs_page); in sgx_encl_eldu()
85 sgx_free_va_slot(encl_page->va_page, va_offset); in sgx_encl_eldu()
86 list_move(&encl_page->va_page->list, &encl->va_pages); in sgx_encl_eldu()
87 encl_page->desc &= ~SGX_ENCL_PAGE_VA_OFFSET_MASK; in sgx_encl_eldu()
88 encl_page->epc_page = epc_page; in sgx_encl_eldu()