Home
last modified time | relevance | path

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

/linux/arch/x86/kernel/cpu/sgx/
H A Dvirt.c37 struct sgx_epc_page *epc_page; in __sgx_vepc_fault() local
46 epc_page = xa_load(&vepc->page_array, index); in __sgx_vepc_fault()
47 if (epc_page) in __sgx_vepc_fault()
50 epc_page = sgx_alloc_epc_page(vepc, false); in __sgx_vepc_fault()
51 if (IS_ERR(epc_page)) in __sgx_vepc_fault()
52 return PTR_ERR(epc_page); in __sgx_vepc_fault()
54 ret = xa_err(xa_store(&vepc->page_array, index, epc_page, GFP_KERNEL)); in __sgx_vepc_fault()
58 pfn = PFN_DOWN(sgx_get_epc_phys_addr(epc_page)); in __sgx_vepc_fault()
71 sgx_free_epc_page(epc_page); in __sgx_vepc_fault()
115 static int sgx_vepc_remove_page(struct sgx_epc_page *epc_page) in sgx_vepc_remove_page() argument
[all …]
H A Dmain.c113 static bool sgx_reclaimer_age(struct sgx_epc_page *epc_page) in sgx_reclaimer_age() argument
115 struct sgx_encl_page *page = epc_page->owner; in sgx_reclaimer_age()
145 static void sgx_reclaimer_block(struct sgx_epc_page *epc_page) in sgx_reclaimer_block() argument
147 struct sgx_encl_page *page = epc_page->owner; in sgx_reclaimer_block()
156 ret = __eblock(sgx_get_epc_virt_addr(epc_page)); in sgx_reclaimer_block()
163 static int __sgx_encl_ewb(struct sgx_epc_page *epc_page, void *va_slot, in __sgx_encl_ewb() argument
176 ret = __ewb(&pginfo, sgx_get_epc_virt_addr(epc_page), va_slot); in __sgx_encl_ewb()
201 static void sgx_encl_ewb(struct sgx_epc_page *epc_page, in sgx_encl_ewb() argument
204 struct sgx_encl_page *encl_page = epc_page->owner; in sgx_encl_ewb()
216 va_slot = sgx_get_epc_virt_addr(va_page->epc_page) + va_offset; in sgx_encl_ewb()
[all …]
H A Dioctl.c34 va_page->epc_page = sgx_alloc_va_page(reclaim); in sgx_encl_grow()
35 if (IS_ERR(va_page->epc_page)) { in sgx_encl_grow()
36 err = ERR_CAST(va_page->epc_page); in sgx_encl_grow()
52 sgx_encl_free_epc_page(va_page->epc_page); in sgx_encl_shrink()
100 encl->secs.epc_page = secs_epc; 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()
209 struct sgx_epc_page *epc_page, in __sgx_encl_add_page() argument
229 pginfo.secs = (unsigned long)sgx_get_epc_virt_addr(encl->secs.epc_page); in __sgx_encl_add_page()
234 ret = __eadd(&pginfo, sgx_get_epc_virt_addr(epc_page)); in __sgx_encl_add_page()
[all …]