Home
last modified time | relevance | path

Searched refs:epc_page (Results 1 – 5 of 5) sorted by relevance

/Linux-v6.6/arch/x86/kernel/cpu/sgx/
Dvirt.c36 struct sgx_epc_page *epc_page; in __sgx_vepc_fault() local
45 epc_page = xa_load(&vepc->page_array, index); in __sgx_vepc_fault()
46 if (epc_page) in __sgx_vepc_fault()
49 epc_page = sgx_alloc_epc_page(vepc, false); in __sgx_vepc_fault()
50 if (IS_ERR(epc_page)) in __sgx_vepc_fault()
51 return PTR_ERR(epc_page); in __sgx_vepc_fault()
53 ret = xa_err(xa_store(&vepc->page_array, index, epc_page, GFP_KERNEL)); in __sgx_vepc_fault()
57 pfn = PFN_DOWN(sgx_get_epc_phys_addr(epc_page)); in __sgx_vepc_fault()
70 sgx_free_epc_page(epc_page); in __sgx_vepc_fault()
114 static int sgx_vepc_remove_page(struct sgx_epc_page *epc_page) in sgx_vepc_remove_page() argument
[all …]
Dencl.c94 if (entry->epc_page && in reclaimer_writing_to_pcmd()
133 struct sgx_epc_page *epc_page, in __sgx_encl_eldu() argument
172 ret = __eldu(&pginfo, sgx_get_epc_virt_addr(epc_page), in __sgx_encl_eldu()
173 sgx_get_epc_virt_addr(encl_page->va_page->epc_page) + va_offset); in __sgx_encl_eldu()
217 struct sgx_epc_page *epc_page; in sgx_encl_eldu() local
220 epc_page = sgx_alloc_epc_page(encl_page, false); in sgx_encl_eldu()
221 if (IS_ERR(epc_page)) in sgx_encl_eldu()
222 return epc_page; in sgx_encl_eldu()
224 ret = __sgx_encl_eldu(encl_page, epc_page, secs_page); in sgx_encl_eldu()
226 sgx_encl_free_epc_page(epc_page); in sgx_encl_eldu()
[all …]
Dmain.c109 static bool sgx_reclaimer_age(struct sgx_epc_page *epc_page) in sgx_reclaimer_age() argument
111 struct sgx_encl_page *page = epc_page->owner; in sgx_reclaimer_age()
141 static void sgx_reclaimer_block(struct sgx_epc_page *epc_page) in sgx_reclaimer_block() argument
143 struct sgx_encl_page *page = epc_page->owner; in sgx_reclaimer_block()
152 ret = __eblock(sgx_get_epc_virt_addr(epc_page)); in sgx_reclaimer_block()
159 static int __sgx_encl_ewb(struct sgx_epc_page *epc_page, void *va_slot, in __sgx_encl_ewb() argument
172 ret = __ewb(&pginfo, sgx_get_epc_virt_addr(epc_page), va_slot); in __sgx_encl_ewb()
197 static void sgx_encl_ewb(struct sgx_epc_page *epc_page, in sgx_encl_ewb() argument
200 struct sgx_encl_page *encl_page = epc_page->owner; in sgx_encl_ewb()
212 va_slot = sgx_get_epc_virt_addr(va_page->epc_page) + va_offset; in sgx_encl_ewb()
[all …]
Dioctl.c33 va_page->epc_page = sgx_alloc_va_page(reclaim); in sgx_encl_grow()
34 if (IS_ERR(va_page->epc_page)) { in sgx_encl_grow()
35 err = ERR_CAST(va_page->epc_page); in sgx_encl_grow()
51 sgx_encl_free_epc_page(va_page->epc_page); in sgx_encl_shrink()
92 encl->secs.epc_page = secs_epc; in sgx_encl_create()
122 sgx_encl_free_epc_page(encl->secs.epc_page); in sgx_encl_create()
123 encl->secs.epc_page = NULL; in sgx_encl_create()
201 struct sgx_epc_page *epc_page, in __sgx_encl_add_page() argument
221 pginfo.secs = (unsigned long)sgx_get_epc_virt_addr(encl->secs.epc_page); in __sgx_encl_add_page()
226 ret = __eadd(&pginfo, sgx_get_epc_virt_addr(epc_page)); in __sgx_encl_add_page()
[all …]
Dencl.h32 struct sgx_epc_page *epc_page; member
76 struct sgx_epc_page *epc_page; member