From 25a669a944a3f6c35bfb05123e5cd2215fd5d23b Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Mon, 14 Oct 2024 12:25:21 +0200 Subject: sys/linux/test: split dev_iommu The test has become too big (>40 calls). Split off dev_iommu_vfio and remove the overlap with dev_iommu_hwpt. --- sys/linux/test/dev_iommu | 28 ---------------------------- sys/linux/test/dev_iommu_hwpt | 12 ++++++++++++ sys/linux/test/dev_iommu_vfio | 18 ++++++++++++++++++ 3 files changed, 30 insertions(+), 28 deletions(-) create mode 100644 sys/linux/test/dev_iommu_hwpt create mode 100644 sys/linux/test/dev_iommu_vfio (limited to 'sys/linux') diff --git a/sys/linux/test/dev_iommu b/sys/linux/test/dev_iommu index fc348ff57..d8507faf0 100644 --- a/sys/linux/test/dev_iommu +++ b/sys/linux/test/dev_iommu @@ -24,21 +24,8 @@ ioctl$IOMMU_IOAS_UNMAP$ALL(r0, 0x3b86, &AUTO={0x18, r1, 0, 0xFFFFFFFFFFFFFFFF}) ioctl$IOMMU_OPTION$IOMMU_OPTION_RLIMIT_MODE(r0, 0x3b87, &AUTO={0x18, 0x0, 0x1, 0x0, 0x0, 0x0}) ioctl$IOMMU_OPTION$IOMMU_OPTION_HUGE_PAGES(r0, 0x3b87, &AUTO={0x18, 0x1, 0x1, 0x0, r1, 0x0}) -ioctl$IOMMU_VFIO_IOAS$SET(r0, 0x3b88, &AUTO={0xc, r1, 0x1, 0x0}) -ioctl$IOMMU_VFIO_IOAS$GET(r0, 0x3b88, &AUTO={0xc, 0x0, 0x0, 0x0}) -ioctl$IOMMU_VFIO_IOAS$CLEAR(r0, 0x3b88, &AUTO={0xc, 0x0, 0x2, 0x0}) - ioctl$IOMMU_IOAS_ALLOW_IOVAS(r0, 0x3b82, &AUTO={0x20, r1, 0x0, 0x0, &AUTO=[]}) -ioctl$IOMMU_VFIO_IOAS$SET(r0, 0x3b88, &AUTO={0xc, r1, 0x1, 0x0}) -ioctl$IOMMU_VFIO_GET_API_VERSION(r0, 0x3b64) -ioctl$IOMMU_VFIO_SET_IOMMU(r0, 0x3b66, 0x3) -ioctl$IOMMU_VFIO_CHECK_EXTENSION(r0, 0x3b65, 0x9) -ioctl$IOMMU_VFIO_IOMMU_GET_INFO(r0, 0x3b70, &AUTO={0x70, 0x0, 0x0, 0x0, {{0x0, 0x0, 0x0}, 0x0}, {{0x0, 0x0, 0x0}, 0x0, 0x0, [{0x0, 0x0}]}}) -ioctl$IOMMU_VFIO_IOMMU_MAP_DMA(r0, 0x3b71, &AUTO={0x20, 0x0, &AUTO='LLLLLLLLLLLLLLLLLLLLLLLLLLLL', 0x1c, 0x1c}) -ioctl$IOMMU_VFIO_IOMMU_UNMAP_DMA(r0, 0x3b72, &AUTO={0x18, 0x0, 0x1c, 0x1c, ''}) -ioctl$IOMMU_IOAS_UNMAP$ALL(r0, 0x3b86, &AUTO={0x18, r1, 0, 0xFFFFFFFFFFFFFFFF}) - ioctl$IOMMU_TEST_OP_ADD_RESERVED(r0, 0x3ba0, &AUTO={0x48, 0x1, r1, 0x0, 0x1000, 0x2000}) ioctl$IOMMU_TEST_OP_MOCK_DOMAIN(r0, 0x3ba0, &AUTO={0x48, 0x2, r1, 0x0, 0x0, 0x0, 0x0}) @@ -56,21 +43,6 @@ ioctl$IOMMU_TEST_OP_DESTROY_ACCESS_PAGES(r0, 0x3ba0, &AUTO={0x48, 0x6, r2, 0x0, ioctl$IOMMU_IOAS_UNMAP$ALL(r0, 0x3b86, &AUTO={0x18, r1, 0, 0xFFFFFFFFFFFFFFFF}) close(r2) -ioctl$IOMMU_TEST_OP_MOCK_DOMAIN(r0, 0x3ba0, &AUTO={0x48, 0x2, r1, 0x0, 0x0, 0x0, 0x0}) -ioctl$IOMMU_HWPT_ALLOC$NONE(r0, 0x3b89, &AUTO={0x28, 0x1, r2, r1, 0x0, 0x0, 0x0, 0x0, &AUTO=''}) -ioctl$IOMMU_HWPT_ALLOC$TEST(r0, 0x3b89, &AUTO={0x28, 0, r2, r3, 0x0, 0x0, 0xdead, 0x4, &AUTO={0xbadbeef}}) -ioctl$IOMMU_HWPT_INVALIDATE$TEST(r0, 0x3b8d, &AUTO={0x20, r5, &AUTO=[{0x0, 0x0}], 0xdeadbeef, 0x8, 0x1, 0x0}) -ioctl$IOMMU_DESTROY$hwpt(r0, 0x3b80, &AUTO={0x8, r5}) -ioctl$IOMMU_DESTROY$hwpt(r0, 0x3b80, &AUTO={0x8, r3}) -ioctl$IOMMU_GET_HW_INFO(r0, 0x3b8a, &AUTO={0x24, 0x0, r2, 0x1c, &AUTO='LLLLLLLLLLLLLLLLLLLLLLLLLLLL', 0x0, 0x0, 0x0}) -ioctl$IOMMU_DESTROY$stdev(r0, 0x3b80, &AUTO={0x8, r4}) - -ioctl$IOMMU_TEST_OP_MOCK_DOMAIN(r0, 0x3ba0, &AUTO={0x48, 0x2, r1, 0x0, 0x0, 0x0, 0x0}) -ioctl$IOMMU_HWPT_ALLOC$NONE(r0, 0x3b89, &AUTO={0x28, 0x2, r2, r1, 0x0, 0x0, 0x0, 0x0, &AUTO=''}) -ioctl$IOMMU_HWPT_SET_DIRTY_TRACKING(r0, 0x3b8b, &AUTO={0x16, 0x1, r3, 0x0}) -ioctl$IOMMU_HWPT_GET_DIRTY_BITMAP(r0, 0x3b8c, &AUTO={0x30, r3, 0x0, 0x0, 0x0, 0x1000, 0x1000, &AUTO='LLLLLLLLLLLLLLLLLLLLLLLLLLLL'}) -ioctl$IOMMU_DESTROY$hwpt(r0, 0x3b80, &AUTO={0x8, r3}) -ioctl$IOMMU_DESTROY$stdev(r0, 0x3b80, &AUTO={0x8, r4}) ioctl$IOMMU_IOAS_UNMAP$ALL(r0, 0x3b86, &AUTO={0x18, r1, 0, 0xFFFFFFFFFFFFFFFF}) ioctl$IOMMU_TEST_OP_SET_TEMP_MEMORY_LIMIT(r0, 0x3ba0, &AUTO={0x48, 0x9, 0x0, 0x0, 0x10}) diff --git a/sys/linux/test/dev_iommu_hwpt b/sys/linux/test/dev_iommu_hwpt new file mode 100644 index 000000000..6c0289bd7 --- /dev/null +++ b/sys/linux/test/dev_iommu_hwpt @@ -0,0 +1,12 @@ +r0 = openat$iommufd(0xffffffffffffff9c, &AUTO='/dev/iommu\x00', 0x0, 0x0) +ioctl$IOMMU_IOAS_ALLOC(r0, 0x3b81, &AUTO={0xc, 0x0, 0x0}) +ioctl$IOMMU_TEST_OP_MOCK_DOMAIN(r0, 0x3ba0, &AUTO={0x48, 0x2, r1, 0x0, 0x0, 0x0, 0x0}) +ioctl$IOMMU_HWPT_ALLOC$NONE(r0, 0x3b89, &AUTO={0x28, 0x1, r2, r1, 0x0, 0x0, 0x0, 0x0, &AUTO=''}) +ioctl$IOMMU_HWPT_ALLOC$TEST(r0, 0x3b89, &AUTO={0x28, 0, r2, r3, 0x0, 0x0, 0xdead, 0x4, &AUTO={0xbadbeef}}) +ioctl$IOMMU_HWPT_INVALIDATE$TEST(r0, 0x3b8d, &AUTO={0x20, r5, &AUTO=[{0x0, 0x0}], 0xdeadbeef, 0x8, 0x1, 0x0}) +ioctl$IOMMU_DESTROY$hwpt(r0, 0x3b80, &AUTO={0x8, r5}) +ioctl$IOMMU_DESTROY$hwpt(r0, 0x3b80, &AUTO={0x8, r3}) +ioctl$IOMMU_GET_HW_INFO(r0, 0x3b8a, &AUTO={0x24, 0x0, r2, 0x1c, &AUTO='LLLLLLLLLLLLLLLLLLLLLLLLLLLL', 0x0, 0x0, 0x0}) +ioctl$IOMMU_DESTROY$stdev(r0, 0x3b80, &AUTO={0x8, r4}) +ioctl$IOMMU_DESTROY$ioas(r0, 0x3b80, &AUTO={0x8, r1}) +close(r0) \ No newline at end of file diff --git a/sys/linux/test/dev_iommu_vfio b/sys/linux/test/dev_iommu_vfio new file mode 100644 index 000000000..204b4e03b --- /dev/null +++ b/sys/linux/test/dev_iommu_vfio @@ -0,0 +1,18 @@ +r0 = openat$iommufd(0xffffffffffffff9c, &AUTO='/dev/iommu\x00', 0x0, 0x0) +ioctl$IOMMU_IOAS_ALLOC(r0, 0x3b81, &AUTO={0xc, 0x0, 0x0}) +ioctl$IOMMU_VFIO_IOAS$SET(r0, 0x3b88, &AUTO={0xc, r1, 0x1, 0x0}) +ioctl$IOMMU_VFIO_IOAS$GET(r0, 0x3b88, &AUTO={0xc, 0x0, 0x0, 0x0}) +ioctl$IOMMU_VFIO_IOAS$CLEAR(r0, 0x3b88, &AUTO={0xc, 0x0, 0x2, 0x0}) + +ioctl$IOMMU_IOAS_ALLOW_IOVAS(r0, 0x3b82, &AUTO={0x20, r1, 0x0, 0x0, &AUTO=[]}) + +ioctl$IOMMU_VFIO_IOAS$SET(r0, 0x3b88, &AUTO={0xc, r1, 0x1, 0x0}) +ioctl$IOMMU_VFIO_GET_API_VERSION(r0, 0x3b64) +ioctl$IOMMU_VFIO_SET_IOMMU(r0, 0x3b66, 0x3) +ioctl$IOMMU_VFIO_CHECK_EXTENSION(r0, 0x3b65, 0x9) +ioctl$IOMMU_VFIO_IOMMU_GET_INFO(r0, 0x3b70, &AUTO={0x70, 0x0, 0x0, 0x0, {{0x0, 0x0, 0x0}, 0x0}, {{0x0, 0x0, 0x0}, 0x0, 0x0, [{0x0, 0x0}]}}) +ioctl$IOMMU_VFIO_IOMMU_MAP_DMA(r0, 0x3b71, &AUTO={0x20, 0x0, &AUTO='LLLLLLLLLLLLLLLLLLLLLLLLLLLL', 0x1c, 0x1c}) +ioctl$IOMMU_VFIO_IOMMU_UNMAP_DMA(r0, 0x3b72, &AUTO={0x18, 0x0, 0x1c, 0x1c, ''}) +ioctl$IOMMU_IOAS_UNMAP$ALL(r0, 0x3b86, &AUTO={0x18, r1, 0, 0xFFFFFFFFFFFFFFFF}) +ioctl$IOMMU_DESTROY$ioas(r0, 0x3b80, &AUTO={0x8, r1}) +close(r0) -- cgit mrf-deployment