Lines Matching refs:seg
106 static bool encl_ioc_add_pages(struct encl *encl, struct encl_segment *seg) in encl_ioc_add_pages() argument
113 secinfo.flags = seg->flags; in encl_ioc_add_pages()
115 ioc.src = (uint64_t)seg->src; in encl_ioc_add_pages()
116 ioc.offset = seg->offset; in encl_ioc_add_pages()
117 ioc.length = seg->size; in encl_ioc_add_pages()
119 if (seg->measure) in encl_ioc_add_pages()
177 struct encl_segment *seg; in encl_load() local
250 seg = &encl->segment_tbl[j]; in encl_load()
270 seg->prot = PROT_READ | PROT_WRITE; in encl_load()
271 seg->flags = SGX_PAGE_TYPE_TCS << 8; in encl_load()
273 seg->prot = (phdr->p_flags & PF_R) ? PROT_READ : 0; in encl_load()
274 seg->prot |= (phdr->p_flags & PF_W) ? PROT_WRITE : 0; in encl_load()
275 seg->prot |= (phdr->p_flags & PF_X) ? PROT_EXEC : 0; in encl_load()
276 seg->flags = (SGX_PAGE_TYPE_REG << 8) | seg->prot; in encl_load()
279 seg->offset = (phdr->p_offset & PAGE_MASK) - src_offset; in encl_load()
280 seg->size = (phdr->p_filesz + PAGE_SIZE - 1) & PAGE_MASK; in encl_load()
281 seg->src = encl->src + seg->offset; in encl_load()
282 seg->measure = true; in encl_load()
289 seg = &encl->segment_tbl[j]; in encl_load()
290 seg->offset = encl->segment_tbl[j - 1].offset + encl->segment_tbl[j - 1].size; in encl_load()
291 seg->size = heap_size; in encl_load()
292 seg->src = mmap(NULL, heap_size, PROT_READ | PROT_WRITE, in encl_load()
294 seg->prot = PROT_READ | PROT_WRITE; in encl_load()
295 seg->flags = (SGX_PAGE_TYPE_REG << 8) | seg->prot; in encl_load()
296 seg->measure = false; in encl_load()
298 if (seg->src == MAP_FAILED) in encl_load()
353 struct encl_segment *seg = &encl->segment_tbl[i]; in encl_build() local
355 if (!encl_ioc_add_pages(encl, seg)) in encl_build()