Lines Matching refs:self

234 	maps_file = fopen("/proc/self/maps", "r");
259 encl_delete(&self->encl);
287 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
289 memset(&self->run, 0, sizeof(self->run));
290 self->run.tcs = self->encl.encl_base;
295 EXPECT_EQ(ENCL_CALL(&put_op, &self->run, false), 0);
297 EXPECT_EEXIT(&self->run);
298 EXPECT_EQ(self->run.user_data, 0);
303 EXPECT_EQ(ENCL_CALL(&get_op, &self->run, false), 0);
306 EXPECT_EEXIT(&self->run);
307 EXPECT_EQ(self->run.user_data, 0);
360 ASSERT_TRUE(setup_test_encl(total_mem, &self->encl, _metadata));
362 memset(&self->run, 0, sizeof(self->run));
363 self->run.tcs = self->encl.encl_base;
368 EXPECT_EQ(ENCL_CALL(&put_op, &self->run, false), 0);
370 EXPECT_EEXIT(&self->run);
371 EXPECT_EQ(self->run.user_data, 0);
376 EXPECT_EQ(ENCL_CALL(&get_op, &self->run, false), 0);
379 EXPECT_EEXIT(&self->run);
380 EXPECT_EQ(self->run.user_data, 0);
404 ASSERT_TRUE(setup_test_encl(total_mem, &self->encl, _metadata));
411 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
428 memset(&self->run, 0, sizeof(self->run));
429 self->run.tcs = self->encl.encl_base;
431 heap = &self->encl.segment_tbl[self->encl.nr_segments - 1];
436 EXPECT_EQ(ENCL_CALL(&put_op, &self->run, false), 0);
438 EXPECT_EEXIT(&self->run);
439 EXPECT_EQ(self->run.user_data, 0);
444 EXPECT_EQ(ENCL_CALL(&get_op, &self->run, false), 0);
447 EXPECT_EEXIT(&self->run);
448 EXPECT_EQ(self->run.user_data, 0);
459 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
468 addr = self->encl.encl_base + heap->offset;
479 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
481 EXPECT_EQ(self->run.exception_vector, 0);
482 EXPECT_EQ(self->run.exception_error_code, 0);
483 EXPECT_EQ(self->run.exception_addr, 0);
485 ASSERT_EQ(self->run.function, EEXIT);
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));
511 memset(&self->run, 0, sizeof(self->run));
512 self->run.tcs = self->encl.encl_base;
517 EXPECT_EQ(ENCL_CALL(&put_op, &self->run, true), 0);
519 EXPECT_EEXIT(&self->run);
520 EXPECT_EQ(self->run.user_data, 0);
525 EXPECT_EQ(ENCL_CALL(&get_op, &self->run, true), 0);
528 EXPECT_EEXIT(&self->run);
529 EXPECT_EQ(self->run.user_data, 0);
545 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
547 memset(&self->run, 0, sizeof(self->run));
548 self->run.tcs = self->encl.encl_base;
550 self->run.user_handler = (__u64)test_handler;
551 self->run.user_data = 0xdeadbeef;
556 EXPECT_EQ(ENCL_CALL(&put_op, &self->run, true), 0);
558 EXPECT_EEXIT(&self->run);
559 EXPECT_EQ(self->run.user_data, 0);
564 EXPECT_EQ(ENCL_CALL(&get_op, &self->run, true), 0);
567 EXPECT_EEXIT(&self->run);
568 EXPECT_EQ(self->run.user_data, 0);
578 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
580 memset(&self->run, 0, sizeof(self->run));
581 self->run.tcs = self->encl.encl_base;
585 EXPECT_EQ(ENCL_CALL(&op, &self->run, true), 0);
587 EXPECT_EEXIT(&self->run);
588 EXPECT_EQ(self->run.exception_vector, 0);
589 EXPECT_EQ(self->run.exception_error_code, 0);
590 EXPECT_EQ(self->run.exception_addr, 0);
593 self->run.tcs = self->encl.encl_base + PAGE_SIZE;
595 EXPECT_EQ(ENCL_CALL(&op, &self->run, true), 0);
597 EXPECT_EEXIT(&self->run);
598 EXPECT_EQ(self->run.exception_vector, 0);
599 EXPECT_EQ(self->run.exception_error_code, 0);
600 EXPECT_EQ(self->run.exception_addr, 0);
623 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
625 memset(&self->run, 0, sizeof(self->run));
626 self->run.tcs = self->encl.encl_base;
628 data_start = self->encl.encl_base +
629 encl_get_data_offset(&self->encl) +
642 EXPECT_EQ(ENCL_CALL(&put_addr_op, &self->run, true), 0);
644 EXPECT_EEXIT(&self->run);
645 EXPECT_EQ(self->run.exception_vector, 0);
646 EXPECT_EQ(self->run.exception_error_code, 0);
647 EXPECT_EQ(self->run.exception_addr, 0);
657 EXPECT_EQ(ENCL_CALL(&get_addr_op, &self->run, true), 0);
660 EXPECT_EEXIT(&self->run);
661 EXPECT_EQ(self->run.exception_vector, 0);
662 EXPECT_EQ(self->run.exception_error_code, 0);
663 EXPECT_EQ(self->run.exception_addr, 0);
678 EXPECT_EQ(ENCL_CALL(&put_addr_op, &self->run, true), 0);
680 EXPECT_EQ(self->run.exception_vector, 14);
681 EXPECT_EQ(self->run.exception_error_code, 0x7);
682 EXPECT_EQ(self->run.exception_addr, data_start);
684 self->run.exception_vector = 0;
685 self->run.exception_error_code = 0;
686 self->run.exception_addr = 0;
698 0, ERESUME, 0, 0, &self->run),
701 EXPECT_EEXIT(&self->run);
702 EXPECT_EQ(self->run.exception_vector, 0);
703 EXPECT_EQ(self->run.exception_error_code, 0);
704 EXPECT_EQ(self->run.exception_addr, 0);
708 EXPECT_EQ(ENCL_CALL(&get_addr_op, &self->run, true), 0);
711 EXPECT_EEXIT(&self->run);
712 EXPECT_EQ(self->run.exception_vector, 0);
713 EXPECT_EQ(self->run.exception_error_code, 0);
714 EXPECT_EQ(self->run.exception_addr, 0);
725 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
727 memset(&self->run, 0, sizeof(self->run));
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));
790 memset(&self->run, 0, sizeof(self->run));
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;
838 EXPECT_EQ(ENCL_CALL(&put_addr_op, &self->run, true), 0);
840 EXPECT_EEXIT(&self->run);
841 EXPECT_EQ(self->run.exception_vector, 0);
842 EXPECT_EQ(self->run.exception_error_code, 0);
843 EXPECT_EQ(self->run.exception_addr, 0);
853 EXPECT_EQ(ENCL_CALL(&get_addr_op, &self->run, true), 0);
856 EXPECT_EEXIT(&self->run);
857 EXPECT_EQ(self->run.exception_vector, 0);
858 EXPECT_EQ(self->run.exception_error_code, 0);
859 EXPECT_EQ(self->run.exception_addr, 0);
867 restrict_ioc.offset = encl_get_data_offset(&self->encl) + PAGE_SIZE;
871 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_RESTRICT_PERMISSIONS,
888 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
890 EXPECT_EEXIT(&self->run);
891 EXPECT_EQ(self->run.exception_vector, 0);
892 EXPECT_EQ(self->run.exception_error_code, 0);
893 EXPECT_EQ(self->run.exception_addr, 0);
902 EXPECT_EQ(ENCL_CALL(&put_addr_op, &self->run, true), 0);
904 EXPECT_EQ(self->run.function, ERESUME);
905 EXPECT_EQ(self->run.exception_vector, 14);
906 EXPECT_EQ(self->run.exception_error_code, 0x8007);
907 EXPECT_EQ(self->run.exception_addr, data_start);
909 self->run.exception_vector = 0;
910 self->run.exception_error_code = 0;
911 self->run.exception_addr = 0;
918 self->run.tcs = self->encl.encl_base + PAGE_SIZE;
930 EXPECT_EQ(ENCL_CALL(&emodpe_op, &self->run, true), 0);
932 EXPECT_EEXIT(&self->run);
933 EXPECT_EQ(self->run.exception_vector, 0);
934 EXPECT_EQ(self->run.exception_error_code, 0);
935 EXPECT_EQ(self->run.exception_addr, 0);
941 self->run.tcs = self->encl.encl_base;
948 self->run.tcs = self->encl.encl_base;
952 &self->run),
955 EXPECT_EEXIT(&self->run);
956 EXPECT_EQ(self->run.exception_vector, 0);
957 EXPECT_EQ(self->run.exception_error_code, 0);
958 EXPECT_EQ(self->run.exception_addr, 0);
962 EXPECT_EQ(ENCL_CALL(&get_addr_op, &self->run, true), 0);
965 EXPECT_EEXIT(&self->run);
966 EXPECT_EQ(self->run.user_data, 0);
967 EXPECT_EQ(self->run.exception_vector, 0);
968 EXPECT_EQ(self->run.exception_error_code, 0);
969 EXPECT_EQ(self->run.exception_addr, 0);
989 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
991 memset(&self->run, 0, sizeof(self->run));
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);
1020 self->run.exception_vector = 0;
1021 self->run.exception_error_code = 0;
1022 self->run.exception_addr = 0;
1038 EXPECT_EQ(ENCL_CALL(&put_addr_op, &self->run, true), 0);
1040 EXPECT_EQ(self->run.function, ERESUME);
1041 EXPECT_EQ(self->run.exception_vector, 14);
1042 EXPECT_EQ(self->run.exception_addr, (unsigned long)addr);
1044 if (self->run.exception_error_code == 0x6) {
1049 EXPECT_EQ(self->run.exception_error_code, 0x8007);
1051 self->run.exception_vector = 0;
1052 self->run.exception_error_code = 0;
1053 self->run.exception_addr = 0;
1056 self->run.tcs = self->encl.encl_base + PAGE_SIZE;
1058 eaccept_op.epc_addr = self->encl.encl_base + total_size;
1063 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
1065 EXPECT_EEXIT(&self->run);
1066 EXPECT_EQ(self->run.exception_vector, 0);
1067 EXPECT_EQ(self->run.exception_error_code, 0);
1068 EXPECT_EQ(self->run.exception_addr, 0);
1072 self->run.tcs = self->encl.encl_base;
1076 &self->run),
1079 EXPECT_EEXIT(&self->run);
1080 EXPECT_EQ(self->run.exception_vector, 0);
1081 EXPECT_EQ(self->run.exception_error_code, 0);
1082 EXPECT_EQ(self->run.exception_addr, 0);
1092 EXPECT_EQ(ENCL_CALL(&get_addr_op, &self->run, true), 0);
1095 EXPECT_EEXIT(&self->run);
1096 EXPECT_EQ(self->run.exception_vector, 0);
1097 EXPECT_EQ(self->run.exception_error_code, 0);
1098 EXPECT_EQ(self->run.exception_addr, 0);
1119 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
1121 memset(&self->run, 0, sizeof(self->run));
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);
1151 self->run.exception_vector = 0;
1152 self->run.exception_error_code = 0;
1153 self->run.exception_addr = 0;
1159 eaccept_op.epc_addr = self->encl.encl_base + total_size;
1164 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
1166 if (self->run.exception_vector == 14 &&
1167 self->run.exception_error_code == 4 &&
1168 self->run.exception_addr == self->encl.encl_base + total_size) {
1173 EXPECT_EEXIT(&self->run);
1174 EXPECT_EQ(self->run.exception_vector, 0);
1175 EXPECT_EQ(self->run.exception_error_code, 0);
1176 EXPECT_EQ(self->run.exception_addr, 0);
1187 EXPECT_EQ(ENCL_CALL(&put_addr_op, &self->run, true), 0);
1189 EXPECT_EEXIT(&self->run);
1190 EXPECT_EQ(self->run.exception_vector, 0);
1191 EXPECT_EQ(self->run.exception_error_code, 0);
1192 EXPECT_EQ(self->run.exception_addr, 0);
1202 EXPECT_EQ(ENCL_CALL(&get_addr_op, &self->run, true), 0);
1205 EXPECT_EEXIT(&self->run);
1206 EXPECT_EQ(self->run.exception_vector, 0);
1207 EXPECT_EQ(self->run.exception_error_code, 0);
1208 EXPECT_EQ(self->run.exception_addr, 0);
1240 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl,
1243 memset(&self->run, 0, sizeof(self->run));
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);
1295 self->run.exception_vector = 0;
1296 self->run.exception_error_code = 0;
1297 self->run.exception_addr = 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;
1313 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
1315 if (self->run.exception_vector == 14 &&
1316 self->run.exception_error_code == 4 &&
1317 self->run.exception_addr == (unsigned long)stack_end) {
1322 EXPECT_EEXIT(&self->run);
1323 EXPECT_EQ(self->run.exception_vector, 0);
1324 EXPECT_EQ(self->run.exception_error_code, 0);
1325 EXPECT_EQ(self->run.exception_addr, 0);
1330 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
1332 EXPECT_EEXIT(&self->run);
1333 EXPECT_EQ(self->run.exception_vector, 0);
1334 EXPECT_EQ(self->run.exception_error_code, 0);
1335 EXPECT_EQ(self->run.exception_addr, 0);
1340 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
1342 EXPECT_EEXIT(&self->run);
1343 EXPECT_EQ(self->run.exception_vector, 0);
1344 EXPECT_EQ(self->run.exception_error_code, 0);
1345 EXPECT_EQ(self->run.exception_addr, 0);
1359 val_64 = encl_get_entry(&self->encl, "encl_dyn_entry");
1367 EXPECT_EQ(ENCL_CALL(&init_tcs_page_op, &self->run, true), 0);
1369 EXPECT_EEXIT(&self->run);
1370 EXPECT_EQ(self->run.exception_vector, 0);
1371 EXPECT_EQ(self->run.exception_error_code, 0);
1372 EXPECT_EQ(self->run.exception_addr, 0);
1381 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
1395 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
1397 EXPECT_EEXIT(&self->run);
1398 EXPECT_EQ(self->run.exception_vector, 0);
1399 EXPECT_EQ(self->run.exception_error_code, 0);
1400 EXPECT_EQ(self->run.exception_addr, 0);
1404 self->run.tcs = (unsigned long)tcs;
1412 EXPECT_EQ(ENCL_CALL(&put_buf_op, &self->run, true), 0);
1414 EXPECT_EEXIT(&self->run);
1415 EXPECT_EQ(self->run.exception_vector, 0);
1416 EXPECT_EQ(self->run.exception_error_code, 0);
1417 EXPECT_EQ(self->run.exception_addr, 0);
1422 EXPECT_EQ(ENCL_CALL(&get_buf_op, &self->run, true), 0);
1425 EXPECT_EEXIT(&self->run);
1426 EXPECT_EQ(self->run.exception_vector, 0);
1427 EXPECT_EQ(self->run.exception_error_code, 0);
1428 EXPECT_EQ(self->run.exception_addr, 0);
1444 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &modt_ioc);
1456 self->run.tcs = self->encl.encl_base;
1463 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
1465 EXPECT_EEXIT(&self->run);
1466 EXPECT_EQ(self->run.exception_vector, 0);
1467 EXPECT_EQ(self->run.exception_error_code, 0);
1468 EXPECT_EQ(self->run.exception_addr, 0);
1474 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
1476 EXPECT_EEXIT(&self->run);
1477 EXPECT_EQ(self->run.exception_vector, 0);
1478 EXPECT_EQ(self->run.exception_error_code, 0);
1479 EXPECT_EQ(self->run.exception_addr, 0);
1485 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
1487 EXPECT_EEXIT(&self->run);
1488 EXPECT_EQ(self->run.exception_vector, 0);
1489 EXPECT_EQ(self->run.exception_error_code, 0);
1490 EXPECT_EQ(self->run.exception_addr, 0);
1499 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_REMOVE_PAGES, &remove_ioc);
1515 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
1517 EXPECT_EEXIT(&self->run);
1518 EXPECT_EQ(self->run.exception_vector, 0);
1519 EXPECT_EQ(self->run.exception_error_code, 0);
1520 EXPECT_EQ(self->run.exception_addr, 0);
1530 EXPECT_EQ(ENCL_CALL(&put_addr_op, &self->run, true), 0);
1532 EXPECT_EEXIT(&self->run);
1533 EXPECT_EQ(self->run.exception_vector, 0);
1534 EXPECT_EQ(self->run.exception_error_code, 0);
1535 EXPECT_EQ(self->run.exception_addr, 0);
1545 EXPECT_EQ(ENCL_CALL(&get_addr_op, &self->run, true), 0);
1548 EXPECT_EEXIT(&self->run);
1549 EXPECT_EQ(self->run.exception_vector, 0);
1550 EXPECT_EQ(self->run.exception_error_code, 0);
1551 EXPECT_EQ(self->run.exception_addr, 0);
1571 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
1573 memset(&self->run, 0, sizeof(self->run));
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;
1615 EXPECT_EQ(ENCL_CALL(&put_addr_op, &self->run, true), 0);
1617 EXPECT_EEXIT(&self->run);
1618 EXPECT_EQ(self->run.exception_vector, 0);
1619 EXPECT_EQ(self->run.exception_error_code, 0);
1620 EXPECT_EQ(self->run.exception_addr, 0);
1630 EXPECT_EQ(ENCL_CALL(&get_addr_op, &self->run, true), 0);
1633 EXPECT_EEXIT(&self->run);
1634 EXPECT_EQ(self->run.exception_vector, 0);
1635 EXPECT_EQ(self->run.exception_error_code, 0);
1636 EXPECT_EQ(self->run.exception_addr, 0);
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));
1684 memset(&self->run, 0, sizeof(self->run));
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;
1726 EXPECT_EQ(ENCL_CALL(&put_addr_op, &self->run, true), 0);
1728 EXPECT_EEXIT(&self->run);
1729 EXPECT_EQ(self->run.exception_vector, 0);
1730 EXPECT_EQ(self->run.exception_error_code, 0);
1731 EXPECT_EQ(self->run.exception_addr, 0);
1741 EXPECT_EQ(ENCL_CALL(&get_addr_op, &self->run, true), 0);
1744 EXPECT_EEXIT(&self->run);
1745 EXPECT_EQ(self->run.exception_vector, 0);
1746 EXPECT_EQ(self->run.exception_error_code, 0);
1747 EXPECT_EQ(self->run.exception_addr, 0);
1752 ioc.offset = encl_get_data_offset(&self->encl) + PAGE_SIZE;
1756 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &ioc);
1769 EXPECT_EQ(ENCL_CALL(&get_addr_op, &self->run, true), 0);
1777 EXPECT_EQ(self->run.function, ERESUME);
1778 EXPECT_EQ(self->run.exception_vector, 14);
1779 EXPECT_EQ(self->run.exception_error_code, 0x8005);
1780 EXPECT_EQ(self->run.exception_addr, data_start);
1797 ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata));
1799 memset(&self->run, 0, sizeof(self->run));
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;
1841 EXPECT_EQ(ENCL_CALL(&put_addr_op, &self->run, true), 0);
1843 EXPECT_EEXIT(&self->run);
1844 EXPECT_EQ(self->run.exception_vector, 0);
1845 EXPECT_EQ(self->run.exception_error_code, 0);
1846 EXPECT_EQ(self->run.exception_addr, 0);
1856 EXPECT_EQ(ENCL_CALL(&get_addr_op, &self->run, true), 0);
1859 EXPECT_EEXIT(&self->run);
1860 EXPECT_EQ(self->run.exception_vector, 0);
1861 EXPECT_EQ(self->run.exception_error_code, 0);
1862 EXPECT_EQ(self->run.exception_addr, 0);
1867 ioc.offset = encl_get_data_offset(&self->encl) + PAGE_SIZE;
1871 ret = ioctl(self->encl.fd, SGX_IOC_ENCLAVE_MODIFY_TYPES, &ioc);
1884 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
1886 EXPECT_EEXIT(&self->run);
1887 EXPECT_EQ(self->run.exception_vector, 0);
1888 EXPECT_EQ(self->run.exception_error_code, 0);
1889 EXPECT_EQ(self->run.exception_addr, 0);
1899 EXPECT_EQ(ENCL_CALL(&get_addr_op, &self->run, true), 0);
1907 EXPECT_EQ(self->run.function, ERESUME);
1908 EXPECT_EQ(self->run.exception_vector, 14);
1909 EXPECT_EQ(self->run.exception_error_code, 0x8005);
1910 EXPECT_EQ(self->run.exception_addr, data_start);
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);
1945 memset(&self->run, 0, sizeof(self->run));
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);
1974 EXPECT_EQ(ENCL_CALL(&eaccept_op, &self->run, true), 0);
1975 EXPECT_EEXIT(&self->run);
1976 EXPECT_EQ(self->run.exception_vector, 0);
1977 EXPECT_EQ(self->run.exception_error_code, 0);
1978 EXPECT_EQ(self->run.exception_addr, 0);
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);