Home
last modified time | relevance | path

Searched refs:encl (Results 1 - 9 of 9) sorted by relevance

/kernel/linux/linux-6.6/tools/testing/selftests/sgx/
H A Dload.c22 void encl_delete(struct encl *encl) in encl_delete() argument
26 if (encl->encl_base) in encl_delete()
27 munmap((void *)encl->encl_base, encl->encl_size); in encl_delete()
29 if (encl->bin) in encl_delete()
30 munmap(encl->bin, encl->bin_size); in encl_delete()
32 if (encl->fd) in encl_delete()
33 close(encl in encl_delete()
44 encl_map_bin(const char *path, struct encl *encl) encl_map_bin() argument
80 encl_ioc_create(struct encl *encl) encl_ioc_create() argument
106 encl_ioc_add_pages(struct encl *encl, struct encl_segment *seg) encl_ioc_add_pages() argument
137 encl_get_entry(struct encl *encl, const char *symbol) encl_get_entry() argument
177 encl_load(const char *path, struct encl *encl, unsigned long heap_size) encl_load() argument
318 encl_map_area(struct encl *encl) encl_map_area() argument
339 encl_build(struct encl *encl) encl_build() argument
[all...]
H A Dmain.h20 struct encl { struct
37 void encl_delete(struct encl *ctx);
38 bool encl_load(const char *path, struct encl *encl, unsigned long heap_size);
39 bool encl_measure(struct encl *encl);
40 bool encl_build(struct encl *encl);
41 uint64_t encl_get_entry(struct encl *encl, cons
[all...]
H A Dmain.c137 static off_t encl_get_tcs_offset(struct encl *encl) in encl_get_tcs_offset() argument
141 for (i = 0; i < encl->nr_segments; i++) { in encl_get_tcs_offset()
142 struct encl_segment *seg = &encl->segment_tbl[i]; in encl_get_tcs_offset()
156 static off_t encl_get_data_offset(struct encl *encl) in encl_get_data_offset() argument
160 for (i = 1; i < encl->nr_segments; i++) { in encl_get_data_offset()
161 struct encl_segment *seg = &encl->segment_tbl[i]; in encl_get_data_offset()
171 struct encl encl; in FIXTURE() local
175 setup_test_encl(unsigned long heap_size, struct encl *encl, struct __test_metadata *_metadata) setup_test_encl() argument
[all...]
H A Dsigstruct.c295 static bool mrenclave_segment(EVP_MD_CTX *ctx, struct encl *encl, in mrenclave_segment() argument
314 bool encl_measure(struct encl *encl) in encl_measure() argument
318 struct sgx_sigstruct *sigstruct = &encl->sigstruct; in encl_measure()
352 if (!mrenclave_ecreate(ctx, encl->src_size)) in encl_measure()
355 for (i = 0; i < encl->nr_segments; i++) { in encl_measure()
356 struct encl_segment *seg = &encl->segment_tbl[i]; in encl_measure()
358 if (!mrenclave_segment(ctx, encl, seg)) in encl_measure()
/kernel/linux/linux-6.6/arch/x86/kernel/cpu/sgx/
H A Dencl.c11 #include "encl.h"
15 static int sgx_encl_lookup_backing(struct sgx_encl *encl, unsigned long page_index,
29 * @encl: Enclave to which PCMD page belongs
58 static int reclaimer_writing_to_pcmd(struct sgx_encl *encl, in reclaimer_writing_to_pcmd() argument
83 if (addr == encl->base + encl->size) in reclaimer_writing_to_pcmd()
86 entry = xa_load(&encl->page_array, PFN_DOWN(addr)); in reclaimer_writing_to_pcmd()
110 static inline pgoff_t sgx_encl_get_backing_page_pcmd_offset(struct sgx_encl *encl, in sgx_encl_get_backing_page_pcmd_offset() argument
113 pgoff_t epc_end_off = encl->size + sizeof(struct sgx_secs); in sgx_encl_get_backing_page_pcmd_offset()
121 static inline void sgx_encl_truncate_backing_page(struct sgx_encl *encl, unsigne argument
137 struct sgx_encl *encl = encl_page->encl; __sgx_encl_eldu() local
216 struct sgx_encl *encl = encl_page->encl; sgx_encl_eldu() local
243 sgx_encl_load_secs(struct sgx_encl *encl) sgx_encl_load_secs() argument
253 __sgx_encl_load_page(struct sgx_encl *encl, struct sgx_encl_page *entry) __sgx_encl_load_page() argument
280 sgx_encl_load_page_in_vma(struct sgx_encl *encl, unsigned long addr, unsigned long vm_flags) sgx_encl_load_page_in_vma() argument
302 sgx_encl_load_page(struct sgx_encl *encl, unsigned long addr) sgx_encl_load_page() argument
327 sgx_encl_eaug_page(struct vm_area_struct *vma, struct sgx_encl *encl, unsigned long addr) sgx_encl_eaug_page() argument
436 struct sgx_encl *encl; sgx_vma_fault() local
489 struct sgx_encl *encl = vma->vm_private_data; sgx_vma_open() local
522 sgx_encl_may_map(struct sgx_encl *encl, unsigned long start, unsigned long end, unsigned long vm_flags) sgx_encl_may_map() argument
576 sgx_encl_debug_read(struct sgx_encl *encl, struct sgx_encl_page *page, unsigned long addr, void *data) sgx_encl_debug_read() argument
590 sgx_encl_debug_write(struct sgx_encl *encl, struct sgx_encl_page *page, unsigned long addr, void *data) sgx_encl_debug_write() argument
606 sgx_encl_reserve_page(struct sgx_encl *encl, unsigned long addr, unsigned long vm_flags) sgx_encl_reserve_page() argument
631 struct sgx_encl *encl = vma->vm_private_data; sgx_vma_access() local
702 struct sgx_encl *encl = container_of(ref, struct sgx_encl, refcount); sgx_encl_release() local
815 sgx_encl_find_mm(struct sgx_encl *encl, struct mm_struct *mm) sgx_encl_find_mm() argument
836 sgx_encl_mm_add(struct sgx_encl *encl, struct mm_struct *mm) sgx_encl_mm_add() argument
925 sgx_encl_cpumask(struct sgx_encl *encl) sgx_encl_cpumask() argument
949 sgx_encl_get_backing_page(struct sgx_encl *encl, pgoff_t index) sgx_encl_get_backing_page() argument
971 __sgx_encl_get_backing(struct sgx_encl *encl, unsigned long page_index, struct sgx_backing *backing) __sgx_encl_get_backing() argument
1000 sgx_encl_get_mem_cgroup(struct sgx_encl *encl) sgx_encl_get_mem_cgroup() argument
1062 sgx_encl_alloc_backing(struct sgx_encl *encl, unsigned long page_index, struct sgx_backing *backing) sgx_encl_alloc_backing() argument
1094 sgx_encl_lookup_backing(struct sgx_encl *encl, unsigned long page_index, struct sgx_backing *backing) sgx_encl_lookup_backing() argument
1139 struct sgx_encl *encl = page->encl; sgx_encl_test_and_clear_young() local
1158 sgx_encl_page_alloc(struct sgx_encl *encl, unsigned long offset, u64 secinfo_flags) sgx_encl_page_alloc() argument
1199 sgx_zap_enclave_ptes(struct sgx_encl *encl, unsigned long addr) sgx_zap_enclave_ptes() argument
[all...]
H A Dioctl.c17 #include "encl.h"
20 struct sgx_va_page *sgx_encl_grow(struct sgx_encl *encl, bool reclaim) in sgx_encl_grow() argument
28 if (!(encl->page_cnt % SGX_VA_SLOT_COUNT)) { in sgx_encl_grow()
40 WARN_ON_ONCE(encl->page_cnt % SGX_VA_SLOT_COUNT); in sgx_encl_grow()
42 encl->page_cnt++; in sgx_encl_grow()
46 void sgx_encl_shrink(struct sgx_encl *encl, struct sgx_va_page *va_page) in sgx_encl_shrink() argument
48 encl->page_cnt--; in sgx_encl_shrink()
57 static int sgx_encl_create(struct sgx_encl *encl, struct sgx_secs *secs) in sgx_encl_create() argument
67 va_page = sgx_encl_grow(encl, true); in sgx_encl_create()
71 list_add(&va_page->list, &encl in sgx_encl_create()
147 sgx_ioc_enclave_create(struct sgx_encl *encl, void __user *arg) sgx_ioc_enclave_create() argument
199 __sgx_encl_add_page(struct sgx_encl *encl, struct sgx_encl_page *encl_page, struct sgx_epc_page *epc_page, struct sgx_secinfo *secinfo, unsigned long src) __sgx_encl_add_page() argument
239 __sgx_encl_extend(struct sgx_encl *encl, struct sgx_epc_page *epc_page) __sgx_encl_extend() argument
259 sgx_encl_add_page(struct sgx_encl *encl, unsigned long src, unsigned long offset, struct sgx_secinfo *secinfo, unsigned long flags) sgx_encl_add_page() argument
349 sgx_validate_offset_length(struct sgx_encl *encl, unsigned long offset, unsigned long length) sgx_validate_offset_length() argument
407 sgx_ioc_enclave_add_pages(struct sgx_encl *encl, void __user *arg) sgx_ioc_enclave_add_pages() argument
484 sgx_encl_init(struct sgx_encl *encl, struct sgx_sigstruct *sigstruct, void *token) sgx_encl_init() argument
592 sgx_ioc_enclave_init(struct sgx_encl *encl, void __user *arg) sgx_ioc_enclave_init() argument
656 sgx_ioc_enclave_provision(struct sgx_encl *encl, void __user *arg) sgx_ioc_enclave_provision() argument
671 sgx_ioc_sgx2_ready(struct sgx_encl *encl) sgx_ioc_sgx2_ready() argument
693 sgx_enclave_etrack(struct sgx_encl *encl) sgx_enclave_etrack() argument
735 sgx_enclave_restrict_permissions(struct sgx_encl *encl, struct sgx_enclave_restrict_permissions *modp) sgx_enclave_restrict_permissions() argument
842 sgx_ioc_enclave_restrict_permissions(struct sgx_encl *encl, void __user *arg) sgx_ioc_enclave_restrict_permissions() argument
890 sgx_enclave_modify_types(struct sgx_encl *encl, struct sgx_enclave_modify_types *modt) sgx_enclave_modify_types() argument
1051 sgx_ioc_enclave_modify_types(struct sgx_encl *encl, void __user *arg) sgx_ioc_enclave_modify_types() argument
1090 sgx_encl_remove_pages(struct sgx_encl *encl, struct sgx_enclave_remove_pages *params) sgx_encl_remove_pages() argument
1198 sgx_ioc_enclave_remove_pages(struct sgx_encl *encl, void __user *arg) sgx_ioc_enclave_remove_pages() argument
1227 struct sgx_encl *encl = filep->private_data; sgx_ioctl() local
[all...]
H A Ddriver.c11 #include "encl.h"
19 struct sgx_encl *encl; in sgx_open() local
22 encl = kzalloc(sizeof(*encl), GFP_KERNEL); in sgx_open()
23 if (!encl) in sgx_open()
26 kref_init(&encl->refcount); in sgx_open()
27 xa_init(&encl->page_array); in sgx_open()
28 mutex_init(&encl->lock); in sgx_open()
29 INIT_LIST_HEAD(&encl->va_pages); in sgx_open()
30 INIT_LIST_HEAD(&encl in sgx_open()
46 struct sgx_encl *encl = file->private_data; sgx_release() local
86 struct sgx_encl *encl = file->private_data; sgx_mmap() local
[all...]
H A Dmain.c18 #include "encl.h"
112 struct sgx_encl *encl = page->encl; in sgx_reclaimer_age() local
117 idx = srcu_read_lock(&encl->srcu); in sgx_reclaimer_age()
119 list_for_each_entry_rcu(encl_mm, &encl->mm_list, list) { in sgx_reclaimer_age()
133 srcu_read_unlock(&encl->srcu, idx); in sgx_reclaimer_age()
145 struct sgx_encl *encl = page->encl; in sgx_reclaimer_block() local
148 sgx_zap_enclave_ptes(encl, addr); in sgx_reclaimer_block()
150 mutex_lock(&encl in sgx_reclaimer_block()
201 struct sgx_encl *encl = encl_page->encl; sgx_encl_ewb() local
254 struct sgx_encl *encl = encl_page->encl; sgx_reclaimer_write() local
[all...]
H A Dencl.h33 struct sgx_encl *encl; member
45 struct sgx_encl *encl; member
103 int sgx_encl_may_map(struct sgx_encl *encl, unsigned long start,
108 int sgx_encl_mm_add(struct sgx_encl *encl, struct mm_struct *mm);
109 const cpumask_t *sgx_encl_cpumask(struct sgx_encl *encl);
110 int sgx_encl_alloc_backing(struct sgx_encl *encl, unsigned long page_index,
115 struct sgx_encl_page *sgx_encl_page_alloc(struct sgx_encl *encl,
118 void sgx_zap_enclave_ptes(struct sgx_encl *encl, unsigned long addr);
124 struct sgx_encl_page *sgx_encl_load_page(struct sgx_encl *encl,
126 struct sgx_va_page *sgx_encl_grow(struct sgx_encl *encl, boo
[all...]

Completed in 6 milliseconds