/linux-master/tools/testing/selftests/sgx/ |
H A D | load.c | 22 void encl_delete(struct encl *encl) argument 26 if (encl->encl_base) 27 munmap((void *)encl->encl_base, encl->encl_size); 29 if (encl->bin) 30 munmap(encl->bin, encl->bin_size); 32 if (encl->fd) 33 close(encl 44 encl_map_bin(const char *path, struct encl *encl) argument 80 encl_ioc_create(struct encl *encl) argument 106 encl_ioc_add_pages(struct encl *encl, struct encl_segment *seg) argument 137 encl_get_entry(struct encl *encl, const char *symbol) argument 177 encl_load(const char *path, struct encl *encl, unsigned long heap_size) argument 318 encl_map_area(struct encl *encl) argument 339 encl_build(struct encl *encl) argument [all...] |
H A D | main.h | 20 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 D | main.c | 137 static off_t encl_get_tcs_offset(struct encl *encl) argument 141 for (i = 0; i < encl->nr_segments; i++) { 142 struct encl_segment *seg = &encl->segment_tbl[i]; 156 static off_t encl_get_data_offset(struct encl *encl) argument 160 for (i = 1; i < encl->nr_segments; i++) { 161 struct encl_segment *seg = &encl->segment_tbl[i]; 171 struct encl encl; local 175 setup_test_encl(unsigned long heap_size, struct encl *encl, struct __test_metadata *_metadata) argument [all...] |
H A D | sigstruct.c | 295 static bool mrenclave_segment(EVP_MD_CTX *ctx, struct encl *encl, argument 314 bool encl_measure(struct encl *encl) argument 318 struct sgx_sigstruct *sigstruct = &encl->sigstruct; 352 if (!mrenclave_ecreate(ctx, encl->src_size)) 355 for (i = 0; i < encl->nr_segments; i++) { 356 struct encl_segment *seg = &encl->segment_tbl[i]; 358 if (!mrenclave_segment(ctx, encl, seg))
|
/linux-master/arch/x86/kernel/cpu/sgx/ |
H A D | encl.c | 11 #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, argument 83 if (addr == encl->base + encl->size) 86 entry = xa_load(&encl->page_array, PFN_DOWN(addr)); 110 static inline pgoff_t sgx_encl_get_backing_page_pcmd_offset(struct sgx_encl *encl, argument 113 pgoff_t epc_end_off = encl->size + sizeof(struct sgx_secs); 121 static inline void sgx_encl_truncate_backing_page(struct sgx_encl *encl, unsigne argument 137 struct sgx_encl *encl = encl_page->encl; local 216 struct sgx_encl *encl = encl_page->encl; local 243 sgx_encl_load_secs(struct sgx_encl *encl) argument 253 __sgx_encl_load_page(struct sgx_encl *encl, struct sgx_encl_page *entry) argument 280 sgx_encl_load_page_in_vma(struct sgx_encl *encl, unsigned long addr, unsigned long vm_flags) argument 302 sgx_encl_load_page(struct sgx_encl *encl, unsigned long addr) argument 327 sgx_encl_eaug_page(struct vm_area_struct *vma, struct sgx_encl *encl, unsigned long addr) argument 436 struct sgx_encl *encl; local 489 struct sgx_encl *encl = vma->vm_private_data; local 522 sgx_encl_may_map(struct sgx_encl *encl, unsigned long start, unsigned long end, unsigned long vm_flags) argument 576 sgx_encl_debug_read(struct sgx_encl *encl, struct sgx_encl_page *page, unsigned long addr, void *data) argument 590 sgx_encl_debug_write(struct sgx_encl *encl, struct sgx_encl_page *page, unsigned long addr, void *data) argument 606 sgx_encl_reserve_page(struct sgx_encl *encl, unsigned long addr, unsigned long vm_flags) argument 631 struct sgx_encl *encl = vma->vm_private_data; local 702 struct sgx_encl *encl = container_of(ref, struct sgx_encl, refcount); local 815 sgx_encl_find_mm(struct sgx_encl *encl, struct mm_struct *mm) argument 836 sgx_encl_mm_add(struct sgx_encl *encl, struct mm_struct *mm) argument 925 sgx_encl_cpumask(struct sgx_encl *encl) argument 949 sgx_encl_get_backing_page(struct sgx_encl *encl, pgoff_t index) argument 971 __sgx_encl_get_backing(struct sgx_encl *encl, unsigned long page_index, struct sgx_backing *backing) argument 1000 sgx_encl_get_mem_cgroup(struct sgx_encl *encl) argument 1062 sgx_encl_alloc_backing(struct sgx_encl *encl, unsigned long page_index, struct sgx_backing *backing) argument 1094 sgx_encl_lookup_backing(struct sgx_encl *encl, unsigned long page_index, struct sgx_backing *backing) argument 1139 struct sgx_encl *encl = page->encl; local 1158 sgx_encl_page_alloc(struct sgx_encl *encl, unsigned long offset, u64 secinfo_flags) argument 1199 sgx_zap_enclave_ptes(struct sgx_encl *encl, unsigned long addr) argument [all...] |
H A D | driver.c | 11 #include "encl.h" 19 struct sgx_encl *encl; local 22 encl = kzalloc(sizeof(*encl), GFP_KERNEL); 23 if (!encl) 26 kref_init(&encl->refcount); 27 xa_init(&encl->page_array); 28 mutex_init(&encl->lock); 29 INIT_LIST_HEAD(&encl->va_pages); 30 INIT_LIST_HEAD(&encl 46 struct sgx_encl *encl = file->private_data; local 86 struct sgx_encl *encl = file->private_data; local [all...] |
H A D | Makefile | 3 encl.o \
|
H A D | ioctl.c | 17 #include "encl.h" 20 struct sgx_va_page *sgx_encl_grow(struct sgx_encl *encl, bool reclaim) argument 28 if (!(encl->page_cnt % SGX_VA_SLOT_COUNT)) { 40 WARN_ON_ONCE(encl->page_cnt % SGX_VA_SLOT_COUNT); 42 encl->page_cnt++; 46 void sgx_encl_shrink(struct sgx_encl *encl, struct sgx_va_page *va_page) argument 48 encl->page_cnt--; 57 static int sgx_encl_create(struct sgx_encl *encl, struct sgx_secs *secs) argument 67 va_page = sgx_encl_grow(encl, true); 71 list_add(&va_page->list, &encl 147 sgx_ioc_enclave_create(struct sgx_encl *encl, void __user *arg) 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) argument 239 __sgx_encl_extend(struct sgx_encl *encl, struct sgx_epc_page *epc_page) argument 259 sgx_encl_add_page(struct sgx_encl *encl, unsigned long src, unsigned long offset, struct sgx_secinfo *secinfo, unsigned long flags) argument 349 sgx_validate_offset_length(struct sgx_encl *encl, unsigned long offset, unsigned long length) argument 407 sgx_ioc_enclave_add_pages(struct sgx_encl *encl, void __user *arg) argument 484 sgx_encl_init(struct sgx_encl *encl, struct sgx_sigstruct *sigstruct, void *token) argument 592 sgx_ioc_enclave_init(struct sgx_encl *encl, void __user *arg) argument 656 sgx_ioc_enclave_provision(struct sgx_encl *encl, void __user *arg) argument 671 sgx_ioc_sgx2_ready(struct sgx_encl *encl) argument 693 sgx_enclave_etrack(struct sgx_encl *encl) argument 735 sgx_enclave_restrict_permissions(struct sgx_encl *encl, struct sgx_enclave_restrict_permissions *modp) argument 842 sgx_ioc_enclave_restrict_permissions(struct sgx_encl *encl, void __user *arg) argument 890 sgx_enclave_modify_types(struct sgx_encl *encl, struct sgx_enclave_modify_types *modt) argument 1051 sgx_ioc_enclave_modify_types(struct sgx_encl *encl, void __user *arg) argument 1090 sgx_encl_remove_pages(struct sgx_encl *encl, struct sgx_enclave_remove_pages *params) argument 1198 sgx_ioc_enclave_remove_pages(struct sgx_encl *encl, void __user *arg) argument 1227 struct sgx_encl *encl = filep->private_data; local [all...] |
H A D | encl.h | 33 struct sgx_encl *encl; member in struct:sgx_encl_page 45 struct sgx_encl *encl; member in struct:sgx_encl_mm 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...] |
H A D | main.c | 18 #include "encl.h" 112 struct sgx_encl *encl = page->encl; local 117 idx = srcu_read_lock(&encl->srcu); 119 list_for_each_entry_rcu(encl_mm, &encl->mm_list, list) { 133 srcu_read_unlock(&encl->srcu, idx); 145 struct sgx_encl *encl = page->encl; local 148 sgx_zap_enclave_ptes(encl, addr); 150 mutex_lock(&encl 201 struct sgx_encl *encl = encl_page->encl; local 254 struct sgx_encl *encl = encl_page->encl; local [all...] |