Lines Matching refs:seg
106 static bool encl_ioc_add_pages(struct encl *encl, struct encl_segment *seg)
113 secinfo.flags = seg->flags;
115 ioc.src = (uint64_t)seg->src;
116 ioc.offset = seg->offset;
117 ioc.length = seg->size;
119 if (seg->measure)
180 struct encl_segment *seg;
253 seg = &encl->segment_tbl[j];
273 seg->prot = PROT_READ | PROT_WRITE;
274 seg->flags = SGX_PAGE_TYPE_TCS << 8;
276 seg->prot = (phdr->p_flags & PF_R) ? PROT_READ : 0;
277 seg->prot |= (phdr->p_flags & PF_W) ? PROT_WRITE : 0;
278 seg->prot |= (phdr->p_flags & PF_X) ? PROT_EXEC : 0;
279 seg->flags = (SGX_PAGE_TYPE_REG << 8) | seg->prot;
282 seg->offset = (phdr->p_offset & PAGE_MASK) - src_offset;
283 seg->size = (phdr->p_filesz + PAGE_SIZE - 1) & PAGE_MASK;
284 seg->src = encl->src + seg->offset;
285 seg->measure = true;
292 seg = &encl->segment_tbl[j];
293 seg->offset = encl->segment_tbl[j - 1].offset + encl->segment_tbl[j - 1].size;
294 seg->size = heap_size;
295 seg->src = mmap(NULL, heap_size, PROT_READ | PROT_WRITE,
297 seg->prot = PROT_READ | PROT_WRITE;
298 seg->flags = (SGX_PAGE_TYPE_REG << 8) | seg->prot;
299 seg->measure = false;
301 if (seg->src == MAP_FAILED)
356 struct encl_segment *seg = &encl->segment_tbl[i];
358 if (!encl_ioc_add_pages(encl, seg))