Lines Matching refs:encl

137 static off_t encl_get_tcs_offset(struct encl *encl)
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)
160 for (i = 1; i < encl->nr_segments; i++) {
161 struct encl_segment *seg = &encl->segment_tbl[i];
171 struct encl encl;
175 static bool setup_test_encl(unsigned long heap_size, struct encl *encl,
186 if (!encl_load("test_encl.elf", encl, heap_size)) {
187 encl_delete(encl);
192 if (!encl_measure(encl))
195 if (!encl_build(encl))
201 for (i = 0; i < encl->nr_segments; i++) {
202 struct encl_segment *seg = &encl->segment_tbl[i];
204 addr = mmap((void *)encl->encl_base + seg->offset, seg->size,
205 seg->prot, MAP_SHARED | MAP_FIXED, encl->fd, 0);
228 for (i = 0; i < encl->nr_segments; i++) {
229 seg = &encl->segment_tbl[i];
248 encl_delete(encl);
259 encl_delete(&self->encl);
287 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
290 self->run.tcs = self->encl.encl_base;
360 ASSERT_TRUE(setup_test_encl(total_mem, &self->encl, _metadata));
363 self->run.tcs = self->encl.encl_base;
404 ASSERT_TRUE(setup_test_encl(total_mem, &self->encl, _metadata));
411 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
429 self->run.tcs = self->encl.encl_base;
431 heap = &self->encl.segment_tbl[self->encl.nr_segments - 1];
459 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
468 addr = self->encl.encl_base + heap->offset;
496 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_REMOVE_PAGES, &remove_ioc);
509 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
512 self->run.tcs = self->encl.encl_base;
545 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
548 self->run.tcs = self->encl.encl_base;
578 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
581 self->run.tcs = self->encl.encl_base;
593 self->run.tcs = self->encl.encl_base + PAGE_SIZE;
623 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
626 self->run.tcs = self->encl.encl_base;
628 data_start = self->encl.encl_base +
629 encl_get_data_offset(&self->encl) +
725 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
728 self->run.tcs = self->encl.encl_base;
737 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_RESTRICT_PERMISSIONS, &ioc);
757 ioc.offset = encl_get_tcs_offset(&self->encl);
761 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_RESTRICT_PERMISSIONS, &ioc);
788 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
791 self->run.tcs = self->encl.encl_base;
799 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_RESTRICT_PERMISSIONS,
825 data_start = self->encl.encl_base +
826 encl_get_data_offset(&self->encl) + PAGE_SIZE;
867 restrict_ioc.offset = encl_get_data_offset(&self->encl) + PAGE_SIZE;
871 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_RESTRICT_PERMISSIONS,
918 self->run.tcs = self->encl.encl_base + PAGE_SIZE;
941 self->run.tcs = self->encl.encl_base;
948 self->run.tcs = self->encl.encl_base;
989 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
992 self->run.tcs = self->encl.encl_base;
994 for (i = 0; i < self->encl.nr_segments; i++) {
995 struct encl_segment *seg = &self->encl.segment_tbl[i];
1005 EXPECT_LT(total_size + PAGE_SIZE, self->encl.encl_size);
1015 addr = mmap((void *)self->encl.encl_base + total_size, PAGE_SIZE,
1017 MAP_SHARED | MAP_FIXED, self->encl.fd, 0);
1056 self->run.tcs = self->encl.encl_base + PAGE_SIZE;
1058 eaccept_op.epc_addr = self->encl.encl_base + total_size;
1072 self->run.tcs = self->encl.encl_base;
1119 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
1122 self->run.tcs = self->encl.encl_base;
1124 for (i = 0; i < self->encl.nr_segments; i++) {
1125 struct encl_segment *seg = &self->encl.segment_tbl[i];
1135 EXPECT_LT(total_size + PAGE_SIZE, self->encl.encl_size);
1146 addr = mmap((void *)self->encl.encl_base + total_size, PAGE_SIZE,
1148 self->encl.fd, 0);
1159 eaccept_op.epc_addr = self->encl.encl_base + total_size;
1168 self->run.exception_addr == self->encl.encl_base + total_size) {
1240 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl,
1244 self->run.tcs = self->encl.encl_base;
1251 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
1273 for (i = 0; i < self->encl.nr_segments; i++) {
1274 struct encl_segment *seg = &self->encl.segment_tbl[i];
1284 EXPECT_LT(total_size + 3 * PAGE_SIZE, self->encl.encl_size);
1290 addr = mmap((void *)self->encl.encl_base + total_size, 3 * PAGE_SIZE,
1292 self->encl.fd, 0);
1299 stack_end = (void *)self->encl.encl_base + total_size;
1300 tcs = (void *)self->encl.encl_base + total_size + PAGE_SIZE;
1301 ssa = (void *)self->encl.encl_base + total_size + 2 * PAGE_SIZE;
1359 val_64 = encl_get_entry(&self->encl, "encl_dyn_entry");
1381 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
1444 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
1456 self->run.tcs = self->encl.encl_base;
1499 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_REMOVE_PAGES, &remove_ioc);
1571 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
1574 self->run.tcs = self->encl.encl_base;
1581 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
1602 data_start = self->encl.encl_base +
1603 encl_get_data_offset(&self->encl) + PAGE_SIZE;
1641 modt_ioc.offset = encl_get_data_offset(&self->encl) + PAGE_SIZE;
1645 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
1658 remove_ioc.offset = encl_get_data_offset(&self->encl) + PAGE_SIZE;
1661 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_REMOVE_PAGES, &remove_ioc);
1682 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
1685 self->run.tcs = self->encl.encl_base;
1692 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &ioc);
1713 data_start = self->encl.encl_base +
1714 encl_get_data_offset(&self->encl) + PAGE_SIZE;
1752 ioc.offset = encl_get_data_offset(&self->encl) + PAGE_SIZE;
1756 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &ioc);
1797 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
1800 self->run.tcs = self->encl.encl_base;
1807 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &ioc);
1828 data_start = self->encl.encl_base +
1829 encl_get_data_offset(&self->encl) + PAGE_SIZE;
1867 ioc.offset = encl_get_data_offset(&self->encl) + PAGE_SIZE;
1871 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &ioc);
1921 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
1928 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
1946 self->run.tcs = self->encl.encl_base;
1948 data_start = self->encl.encl_base +
1949 encl_get_data_offset(&self->encl) + PAGE_SIZE;
1953 modt_ioc.offset = encl_get_data_offset(&self->encl) + PAGE_SIZE;
1956 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
1983 remove_ioc.offset = encl_get_data_offset(&self->encl) + PAGE_SIZE;
1985 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_REMOVE_PAGES, &remove_ioc);