• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/processor-trace/libipt/test/src/

Lines Matching refs:ifix

70 	struct image_fixture *ifix;
128 struct image_fixture *ifix)
145 status->ifix = ifix;
148 static int ifix_add_section(struct image_fixture *ifix, char *filename)
152 if (!ifix)
155 index = ifix->nsecs;
159 ifix_init_section(&ifix->section[index], filename, &ifix->status[index],
160 &ifix->mapping[index], ifix);
162 ifix->nsecs += 1;
166 static int ifix_cache_section(struct image_fixture *ifix,
171 if (!ifix)
174 index = ifix->iscache.nsecs;
178 ifix->iscache.section[index] = section;
179 ifix->iscache.laddr[index] = laddr;
182 ifix->iscache.nsecs = index;
435 static struct ptunit_result init_name(struct image_fixture *ifix)
437 memset(&ifix->image, 0xcd, sizeof(ifix->image));
439 pt_image_init(&ifix->image, "image-name");
440 ptu_str_eq(ifix->image.name, "image-name");
441 ptu_null(ifix->image.sections);
442 ptu_null((void *) (uintptr_t) ifix->image.readmem.callback);
443 ptu_null(ifix->image.readmem.context);
497 static struct ptunit_result name(struct image_fixture *ifix)
501 pt_image_init(&ifix->image, "image-name");
503 name = pt_image_name(&ifix->image);
532 static struct ptunit_result read_empty(struct image_fixture *ifix)
541 status = pt_image_read(&ifix->image, &isid, buffer, sizeof(buffer),
551 static struct ptunit_result overlap_front(struct image_fixture *ifix)
556 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
560 status = pt_image_add(&ifix->image, &ifix->section[1], &ifix->asid[0],
565 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
575 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
585 static struct ptunit_result overlap_back(struct image_fixture *ifix)
590 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
594 status = pt_image_add(&ifix->image, &ifix->section[1], &ifix->asid[0],
599 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
607 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
615 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
625 static struct ptunit_result overlap_multiple(struct image_fixture *ifix)
630 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
634 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
638 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
643 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
650 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
658 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
666 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
676 static struct ptunit_result overlap_mid(struct image_fixture *ifix)
681 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
685 ifix->section[1].size = 0x8;
686 ifix->mapping[1].size = 0x8;
687 status = pt_image_add(&ifix->image, &ifix->section[1], &ifix->asid[0],
692 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
700 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
708 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
716 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
726 static struct ptunit_result contained(struct image_fixture *ifix)
731 ifix->section[0].size = 0x8;
732 ifix->mapping[0].size = 0x8;
733 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
737 status = pt_image_add(&ifix->image, &ifix->section[1], &ifix->asid[0],
742 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
752 static struct ptunit_result contained_multiple(struct image_fixture *ifix)
757 ifix->section[0].size = 0x2;
758 ifix->mapping[0].size = 0x2;
759 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
763 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
767 status = pt_image_add(&ifix->image, &ifix->section[1], &ifix->asid[0],
772 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
780 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
790 static struct ptunit_result contained_back(struct image_fixture *ifix)
795 ifix->section[0].size = 0x8;
796 ifix->mapping[0].size = 0x8;
797 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
801 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
805 status = pt_image_add(&ifix->image, &ifix->section[1], &ifix->asid[0],
810 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
818 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
826 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
834 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
844 static struct ptunit_result same(struct image_fixture *ifix)
849 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
853 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
858 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
868 static struct ptunit_result same_different_isid(struct image_fixture *ifix)
873 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
877 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
882 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
892 static struct ptunit_result same_different_offset(struct image_fixture *ifix)
900 index = ifix_add_section(ifix, ifix->section[0].filename);
903 ifix->section[index].offset = ifix->section[0].offset + 0x10;
904 ptu_uint_eq(ifix->section[index].size, ifix->section[0].size);
907 for (i = 0; i < ifix->mapping[index].size; ++i)
908 ifix->mapping[index].content[i] += 0x10;
911 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
915 status = pt_image_add(&ifix->image, &ifix->section[index],
916 &ifix->asid[0], 0x1000ull, 0);
920 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
928 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
938 static struct ptunit_result adjacent(struct image_fixture *ifix)
943 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
947 status = pt_image_add(&ifix->image, &ifix->section[1], &ifix->asid[0],
948 0x1000ull - ifix->section[1].size, 2);
951 status = pt_image_add(&ifix->image, &ifix->section[2], &ifix->asid[0],
952 0x1000ull + ifix->section[0].size, 3);
956 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
964 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
969 ifix->mapping[1].content[ifix->mapping[1].size - 1]);
973 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
974 0x1000ull + ifix->section[0].size);
983 static struct ptunit_result read_null(struct image_fixture *ifix)
988 status = pt_image_read(NULL, &isid, &buffer, 1, &ifix->asid[0],
992 status = pt_image_read(&ifix->image, NULL, &buffer, 1, &ifix->asid[0],
996 status = pt_image_read(&ifix->image, &isid, NULL, 1, &ifix->asid[0],
1000 status = pt_image_read(&ifix->image, &isid, &buffer, 1, NULL,
1007 static struct ptunit_result read(struct image_fixture *ifix)
1013 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[1],
1024 static struct ptunit_result read_asid(struct image_fixture *ifix)
1029 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
1033 status = pt_image_add(&ifix->image, &ifix->section[1], &ifix->asid[1],
1038 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
1046 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[1],
1056 static struct ptunit_result read_bad_asid(struct image_fixture *ifix)
1062 status = pt_image_read(&ifix->image, &isid, buffer, sizeof(buffer),
1063 &ifix->asid[0], 0x2003ull);
1072 static struct ptunit_result read_null_asid(struct image_fixture *ifix)
1078 status = pt_image_read(&ifix->image, &isid, buffer, 2, NULL, 0x2003ull);
1087 static struct ptunit_result read_callback(struct image_fixture *ifix)
1093 status = pt_image_set_callback(&ifix->image, image_readmem_callback,
1098 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1109 static struct ptunit_result read_nomem(struct image_fixture *ifix)
1115 status = pt_image_read(&ifix->image, &isid, buffer, sizeof(buffer),
1116 &ifix->asid[1], 0x1010ull);
1125 static struct ptunit_result read_truncated(struct image_fixture *ifix)
1131 status = pt_image_read(&ifix->image, &isid, buffer, sizeof(buffer),
1132 &ifix->asid[0], 0x100full);
1141 static struct ptunit_result read_error(struct image_fixture *ifix)
1146 ifix->mapping[0].errcode = -pte_nosync;
1149 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
1158 static struct ptunit_result read_spurious_error(struct image_fixture *ifix)
1164 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
1171 ifix->mapping[0].errcode = -pte_nosync;
1174 status = pt_image_read(&ifix->image, &isid, buffer, 1, &ifix->asid[0],
1183 static struct ptunit_result remove_section(struct image_fixture *ifix)
1189 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1197 status = pt_image_remove(&ifix->image, &ifix->section[0],
1198 &ifix->asid[0], 0x1000ull);
1201 ptu_int_ne(ifix->status[0].deleted, 0);
1202 ptu_int_eq(ifix->status[1].deleted, 0);
1205 status = pt_image_read(&ifix->image, &isid, buffer, sizeof(buffer),
1206 &ifix->asid[0], 0x1003ull);
1214 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[1],
1225 static struct ptunit_result remove_bad_vaddr(struct image_fixture *ifix)
1231 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1239 status = pt_image_remove(&ifix->image, &ifix->section[0],
1240 &ifix->asid[0], 0x2000ull);
1243 ptu_int_eq(ifix->status[0].deleted, 0);
1244 ptu_int_eq(ifix->status[1].deleted, 0);
1247 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1256 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[1],
1267 static struct ptunit_result remove_bad_asid(struct image_fixture *ifix)
1273 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1281 status = pt_image_remove(&ifix->image, &ifix->section[0],
1282 &ifix->asid[1], 0x1000ull);
1285 ptu_int_eq(ifix->status[0].deleted, 0);
1286 ptu_int_eq(ifix->status[1].deleted, 0);
1289 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1298 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[1],
1309 static struct ptunit_result remove_by_filename(struct image_fixture *ifix)
1315 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1323 status = pt_image_remove_by_filename(&ifix->image,
1324 ifix->section[0].filename,
1325 &ifix->asid[0]);
1328 ptu_int_ne(ifix->status[0].deleted, 0);
1329 ptu_int_eq(ifix->status[1].deleted, 0);
1332 status = pt_image_read(&ifix->image, &isid, buffer, sizeof(buffer),
1333 &ifix->asid[0], 0x1003ull);
1341 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[1],
1353 remove_by_filename_bad_asid(struct image_fixture *ifix)
1359 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1367 status = pt_image_remove_by_filename(&ifix->image,
1368 ifix->section[0].filename,
1369 &ifix->asid[1]);
1372 ptu_int_eq(ifix->status[0].deleted, 0);
1373 ptu_int_eq(ifix->status[1].deleted, 0);
1376 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1385 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[1],
1396 static struct ptunit_result remove_none_by_filename(struct image_fixture *ifix)
1401 status = pt_image_remove_by_filename(&ifix->image, "bad-name",
1402 &ifix->asid[0]);
1405 ptu_int_eq(ifix->status[0].deleted, 0);
1406 ptu_int_eq(ifix->status[1].deleted, 0);
1409 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1418 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[1],
1429 static struct ptunit_result remove_all_by_filename(struct image_fixture *ifix)
1434 ifix->section[0].filename = "same-name";
1435 ifix->section[1].filename = "same-name";
1437 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
1441 status = pt_image_add(&ifix->image, &ifix->section[1], &ifix->asid[0],
1446 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1454 status = pt_image_remove_by_filename(&ifix->image, "same-name",
1455 &ifix->asid[0]);
1458 ptu_int_ne(ifix->status[0].deleted, 0);
1459 ptu_int_ne(ifix->status[1].deleted, 0);
1462 status = pt_image_read(&ifix->image, &isid, buffer, sizeof(buffer),
1463 &ifix->asid[0], 0x1003ull);
1471 status = pt_image_read(&ifix->image, &isid, buffer, sizeof(buffer),
1472 &ifix->asid[0], 0x2003ull);
1482 static struct ptunit_result remove_by_asid(struct image_fixture *ifix)
1488 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1496 status = pt_image_remove_by_asid(&ifix->image, &ifix->asid[0]);
1499 ptu_int_ne(ifix->status[0].deleted, 0);
1500 ptu_int_eq(ifix->status[1].deleted, 0);
1503 status = pt_image_read(&ifix->image, &isid, buffer, sizeof(buffer),
1504 &ifix->asid[0], 0x1003ull);
1512 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[1],
1523 static struct ptunit_result copy_empty(struct image_fixture *ifix)
1531 status = pt_image_copy(&ifix->copy, &ifix->image);
1535 status = pt_image_read(&ifix->copy, &isid, buffer, sizeof(buffer),
1545 static struct ptunit_result copy(struct image_fixture *ifix)
1550 status = pt_image_copy(&ifix->copy, &ifix->image);
1554 status = pt_image_read(&ifix->copy, &isid, buffer, 2, &ifix->asid[1],
1565 static struct ptunit_result copy_self(struct image_fixture *ifix)
1570 status = pt_image_copy(&ifix->image, &ifix->image);
1574 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[1],
1585 static struct ptunit_result copy_shrink(struct image_fixture *ifix)
1590 status = pt_image_add(&ifix->copy, &ifix->section[1], &ifix->asid[1],
1594 status = pt_image_copy(&ifix->copy, &ifix->image);
1598 status = pt_image_read(&ifix->copy, &isid, buffer, 2, &ifix->asid[1],
1609 static struct ptunit_result copy_split(struct image_fixture *ifix)
1614 status = pt_image_add(&ifix->copy, &ifix->section[0], &ifix->asid[0],
1618 ifix->section[1].size = 0x7;
1619 ifix->mapping[1].size = 0x7;
1621 status = pt_image_add(&ifix->image, &ifix->section[1], &ifix->asid[0],
1625 ifix->section[2].size = 0x8;
1626 ifix->mapping[2].size = 0x8;
1628 status = pt_image_add(&ifix->image, &ifix->section[2], &ifix->asid[0],
1632 status = pt_image_copy(&ifix->copy, &ifix->image);
1636 status = pt_image_read(&ifix->copy, &isid, buffer, 1, &ifix->asid[0],
1644 status = pt_image_read(&ifix->copy, &isid, buffer, 1, &ifix->asid[0],
1652 status = pt_image_read(&ifix->copy, &isid, buffer, 1, &ifix->asid[0],
1662 static struct ptunit_result copy_merge(struct image_fixture *ifix)
1667 ifix->section[1].size = 0x8;
1668 ifix->mapping[1].size = 0x8;
1670 status = pt_image_add(&ifix->copy, &ifix->section[1], &ifix->asid[0],
1674 ifix->section[2].size = 0x8;
1675 ifix->mapping[2].size = 0x8;
1677 status = pt_image_add(&ifix->copy, &ifix->section[2], &ifix->asid[0],
1681 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
1685 status = pt_image_copy(&ifix->copy, &ifix->image);
1689 status = pt_image_read(&ifix->copy, &isid, buffer, 1, &ifix->asid[0],
1697 status = pt_image_read(&ifix->copy, &isid, buffer, 1, &ifix->asid[0],
1707 static struct ptunit_result copy_overlap(struct image_fixture *ifix)
1712 status = pt_image_add(&ifix->copy, &ifix->section[0], &ifix->asid[0],
1716 status = pt_image_add(&ifix->copy, &ifix->section[1], &ifix->asid[0],
1720 status = pt_image_add(&ifix->image, &ifix->section[2], &ifix->asid[0],
1724 status = pt_image_copy(&ifix->copy, &ifix->image);
1728 status = pt_image_read(&ifix->copy, &isid, buffer, 1, &ifix->asid[0],
1736 status = pt_image_read(&ifix->copy, &isid, buffer, 1, &ifix->asid[0],
1744 status = pt_image_read(&ifix->copy, &isid, buffer, 1, &ifix->asid[0],
1752 status = pt_image_read(&ifix->copy, &isid, buffer, 1, &ifix->asid[0],
1762 static struct ptunit_result copy_replace(struct image_fixture *ifix)
1767 ifix->section[0].size = 0x8;
1768 ifix->mapping[0].size = 0x8;
1770 status = pt_image_add(&ifix->copy, &ifix->section[0], &ifix->asid[0],
1774 status = pt_image_add(&ifix->image, &ifix->section[1], &ifix->asid[0],
1778 status = pt_image_copy(&ifix->copy, &ifix->image);
1782 status = pt_image_read(&ifix->copy, &isid, buffer, 2, &ifix->asid[0],
1808 static struct ptunit_result add_cached(struct image_fixture *ifix)
1813 isid = ifix_cache_section(ifix, &ifix->section[0], 0x1000ull);
1816 status = pt_image_add_cached(&ifix->image, &ifix->iscache, isid,
1817 &ifix->asid[0]);
1821 status = pt_image_read(&ifix->image, &risid, buffer, 2, &ifix->asid[0],
1832 static struct ptunit_result add_cached_null_asid(struct image_fixture *ifix)
1837 isid = ifix_cache_section(ifix, &ifix->section[0], 0x1000ull);
1840 status = pt_image_add_cached(&ifix->image, &ifix->iscache, isid, NULL);
1844 status = pt_image_read(&ifix->image, &risid, buffer, 2, &ifix->asid[0],
1855 static struct ptunit_result add_cached_twice(struct image_fixture *ifix)
1860 isid = ifix_cache_section(ifix, &ifix->section[0], 0x1000ull);
1863 status = pt_image_add_cached(&ifix->image, &ifix->iscache, isid,
1864 &ifix->asid[0]);
1867 status = pt_image_add_cached(&ifix->image, &ifix->iscache, isid,
1868 &ifix->asid[0]);
1872 status = pt_image_read(&ifix->image, &risid, buffer, 2, &ifix->asid[0],
1883 static struct ptunit_result add_cached_bad_isid(struct image_fixture *ifix)
1888 status = pt_image_add_cached(&ifix->image, &ifix->iscache, 1,
1889 &ifix->asid[0]);
1893 status = pt_image_read(&ifix->image, &isid, buffer, 2, &ifix->asid[0],
1901 static struct ptunit_result find_null(struct image_fixture *ifix)
1906 status = pt_image_find(NULL, &msec, &ifix->asid[0],
1910 status = pt_image_find(&ifix->image, NULL, &ifix->asid[0],
1914 status = pt_image_find(&ifix->image, &msec, NULL, 0x1000ull);
1920 static struct ptunit_result find(struct image_fixture *ifix)
1925 status = pt_image_find(&ifix->image, &msec, &ifix->asid[1], 0x2003ull);
1927 ptu_ptr_eq(msec.section, &ifix->section[1]);
1936 static struct ptunit_result find_asid(struct image_fixture *ifix)
1941 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
1945 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[1],
1949 status = pt_image_find(&ifix->image, &msec, &ifix->asid[0], 0x1009ull);
1951 ptu_ptr_eq(msec.section, &ifix->section[0]);
1957 status = pt_image_find(&ifix->image, &msec, &ifix->asid[1], 0x1009ull);
1959 ptu_ptr_eq(msec.section, &ifix->section[0]);
1968 static struct ptunit_result find_bad_asid(struct image_fixture *ifix)
1973 status = pt_image_find(&ifix->image, &msec, &ifix->asid[0], 0x2003ull);
1979 static struct ptunit_result find_nomem(struct image_fixture *ifix)
1984 status = pt_image_find(&ifix->image, &msec, &ifix->asid[1], 0x1010ull);
1990 static struct ptunit_result validate_null(struct image_fixture *ifix)
1998 status = pt_image_validate(&ifix->image, NULL, 0x1004ull, 10);
2004 static struct ptunit_result validate(struct image_fixture *ifix)
2009 isid = pt_image_find(&ifix->image, &msec, &ifix->asid[0], 0x1003ull);
2015 status = pt_image_validate(&ifix->image, &msec, 0x1004ull, isid);
2021 static struct ptunit_result validate_bad_asid(struct image_fixture *ifix)
2026 isid = pt_image_find(&ifix->image, &msec, &ifix->asid[0], 0x1003ull);
2032 msec.asid = ifix->asid[1];
2034 status = pt_image_validate(&ifix->image, &msec, 0x1004ull, isid);
2040 static struct ptunit_result validate_bad_vaddr(struct image_fixture *ifix)
2045 isid = pt_image_find(&ifix->image, &msec, &ifix->asid[0], 0x1003ull);
2053 status = pt_image_validate(&ifix->image, &msec, 0x1004ull, isid);
2059 static struct ptunit_result validate_bad_offset(struct image_fixture *ifix)
2064 isid = pt_image_find(&ifix->image, &msec, &ifix->asid[0], 0x1003ull);
2072 status = pt_image_validate(&ifix->image, &msec, 0x1004ull, isid);
2078 static struct ptunit_result validate_bad_size(struct image_fixture *ifix)
2083 isid = pt_image_find(&ifix->image, &msec, &ifix->asid[0], 0x1003ull);
2091 status = pt_image_validate(&ifix->image, &msec, 0x1004ull, isid);
2097 static struct ptunit_result validate_bad_isid(struct image_fixture *ifix)
2102 isid = pt_image_find(&ifix->image, &msec, &ifix->asid[0], 0x1003ull);
2108 status = pt_image_validate(&ifix->image, &msec, 0x1004ull, isid + 1);
2114 static struct ptunit_result ifix_init(struct image_fixture *ifix)
2118 pt_image_init(&ifix->image, NULL);
2119 pt_image_init(&ifix->copy, NULL);
2121 memset(ifix->status, 0, sizeof(ifix->status));
2122 memset(ifix->mapping, 0, sizeof(ifix->mapping));
2123 memset(ifix->section, 0, sizeof(ifix->section));
2124 memset(&ifix->iscache, 0, sizeof(ifix->iscache));
2126 ifix->nsecs = 0;
2128 index = ifix_add_section(ifix, "file-0");
2131 index = ifix_add_section(ifix, "file-1");
2134 index = ifix_add_section(ifix, "file-2");
2137 pt_asid_init(&ifix->asid[0]);
2138 ifix->asid[0].cr3 = 0xa000;
2140 pt_asid_init(&ifix->asid[1]);
2141 ifix->asid[1].cr3 = 0xb000;
2143 pt_asid_init(&ifix->asid[2]);
2144 ifix->asid[2].cr3 = 0xc000;
2149 static struct ptunit_result rfix_init(struct image_fixture *ifix)
2153 ptu_check(ifix_init, ifix);
2155 status = pt_image_add(&ifix->image, &ifix->section[0], &ifix->asid[0],
2159 status = pt_image_add(&ifix->image, &ifix->section[1], &ifix->asid[1],
2166 static struct ptunit_result dfix_fini(struct image_fixture *ifix)
2168 pt_image_fini(&ifix->image);
2173 static struct ptunit_result ifix_fini(struct image_fixture *ifix)
2177 ptu_check(dfix_fini, ifix);
2179 pt_image_fini(&ifix->copy);
2182 ptu_int_eq(ifix->section[sec].ucount, 0);
2183 ptu_int_eq(ifix->section[sec].mcount, 0);
2184 ptu_int_le(ifix->status[sec].deleted, 1);
2185 ptu_int_eq(ifix->status[sec].bad_put, 0);
2193 struct image_fixture dfix, ifix, rfix;
2201 ifix.init = ifix_init;
2202 ifix.fini = ifix_fini;
2222 ptu_run_f(suite, read_empty, ifix);
2223 ptu_run_f(suite, overlap_front, ifix);
2224 ptu_run_f(suite, overlap_back, ifix);
2225 ptu_run_f(suite, overlap_multiple, ifix);
2226 ptu_run_f(suite, overlap_mid, ifix);
2227 ptu_run_f(suite, contained, ifix);
2228 ptu_run_f(suite, contained_multiple, ifix);
2229 ptu_run_f(suite, contained_back, ifix);
2230 ptu_run_f(suite, same, ifix);
2231 ptu_run_f(suite, same_different_isid, ifix);
2232 ptu_run_f(suite, same_different_offset, ifix);
2233 ptu_run_f(suite, adjacent, ifix);
2238 ptu_run_f(suite, read_asid, ifix);
2253 ptu_run_f(suite, remove_all_by_filename, ifix);
2256 ptu_run_f(suite, copy_empty, ifix);
2260 ptu_run_f(suite, copy_split, ifix);
2261 ptu_run_f(suite, copy_merge, ifix);
2262 ptu_run_f(suite, copy_overlap, ifix);
2263 ptu_run_f(suite, copy_replace, ifix);
2266 ptu_run_f(suite, add_cached, ifix);
2267 ptu_run_f(suite, add_cached_null_asid, ifix);
2268 ptu_run_f(suite, add_cached_twice, ifix);
2269 ptu_run_f(suite, add_cached_bad_isid, ifix);
2273 ptu_run_f(suite, find_asid, ifix);