Lines Matching full:fd

85 			  ioctl(self->fd,                                     \
90 static int _test_cmd_mock_domain(int fd, unsigned int ioas_id, __u32 *stdev_id, in _test_cmd_mock_domain() argument
101 ret = ioctl(fd, IOMMU_TEST_CMD, &cmd); in _test_cmd_mock_domain()
114 ASSERT_EQ(0, _test_cmd_mock_domain(self->fd, ioas_id, stdev_id, \
117 EXPECT_ERRNO(_errno, _test_cmd_mock_domain(self->fd, ioas_id, \
120 static int _test_cmd_mock_domain_flags(int fd, unsigned int ioas_id, in _test_cmd_mock_domain_flags() argument
132 ret = ioctl(fd, IOMMU_TEST_CMD, &cmd); in _test_cmd_mock_domain_flags()
145 ASSERT_EQ(0, _test_cmd_mock_domain_flags(self->fd, ioas_id, flags, \
149 _test_cmd_mock_domain_flags(self->fd, ioas_id, flags, \
152 static int _test_cmd_mock_domain_replace(int fd, __u32 stdev_id, __u32 pt_id, in _test_cmd_mock_domain_replace() argument
165 ret = ioctl(fd, IOMMU_TEST_CMD, &cmd); in _test_cmd_mock_domain_replace()
174 ASSERT_EQ(0, _test_cmd_mock_domain_replace(self->fd, stdev_id, pt_id, \
177 EXPECT_ERRNO(_errno, _test_cmd_mock_domain_replace(self->fd, stdev_id, \
180 static int _test_cmd_hwpt_alloc(int fd, __u32 device_id, __u32 pt_id, __u32 ft_id, in _test_cmd_hwpt_alloc() argument
196 ret = ioctl(fd, IOMMU_HWPT_ALLOC, &cmd); in _test_cmd_hwpt_alloc()
205 ASSERT_EQ(0, _test_cmd_hwpt_alloc(self->fd, device_id, pt_id, 0, flags, \
210 self->fd, device_id, pt_id, 0, flags, \
215 ASSERT_EQ(0, _test_cmd_hwpt_alloc(self->fd, device_id, pt_id, 0, flags, \
220 _test_cmd_hwpt_alloc(self->fd, device_id, pt_id, 0, flags, \
225 ASSERT_EQ(0, _test_cmd_hwpt_alloc(self->fd, device_id, pt_id, fault_id, \
231 _test_cmd_hwpt_alloc(self->fd, device_id, pt_id, fault_id, \
247 ioctl(self->fd, \
270 ASSERT_EQ(0, ioctl(self->fd, \
283 static int _test_cmd_hwpt_invalidate(int fd, __u32 hwpt_id, void *reqs, in _test_cmd_hwpt_invalidate() argument
295 int rc = ioctl(fd, IOMMU_HWPT_INVALIDATE, &cmd); in _test_cmd_hwpt_invalidate()
303 _test_cmd_hwpt_invalidate(self->fd, hwpt_id, reqs, \
310 self->fd, hwpt_id, reqs, \
314 static int _test_cmd_viommu_invalidate(int fd, __u32 viommu_id, void *reqs, in _test_cmd_viommu_invalidate() argument
326 int rc = ioctl(fd, IOMMU_HWPT_INVALIDATE, &cmd); in _test_cmd_viommu_invalidate()
334 _test_cmd_viommu_invalidate(self->fd, viommu, reqs, \
342 self->fd, viommu_id, reqs, \
346 static int _test_cmd_access_replace_ioas(int fd, __u32 access_id, in _test_cmd_access_replace_ioas() argument
357 ret = ioctl(fd, IOMMU_TEST_CMD, &cmd); in _test_cmd_access_replace_ioas()
363 ASSERT_EQ(0, _test_cmd_access_replace_ioas(self->fd, access_id, ioas_id))
365 static int _test_cmd_set_dirty_tracking(int fd, __u32 hwpt_id, bool enabled) in _test_cmd_set_dirty_tracking() argument
374 ret = ioctl(fd, IOMMU_HWPT_SET_DIRTY_TRACKING, &cmd); in _test_cmd_set_dirty_tracking()
380 ASSERT_EQ(0, _test_cmd_set_dirty_tracking(self->fd, hwpt_id, enabled))
382 static int _test_cmd_get_dirty_bitmap(int fd, __u32 hwpt_id, size_t length, in _test_cmd_get_dirty_bitmap() argument
397 ret = ioctl(fd, IOMMU_HWPT_GET_DIRTY_BITMAP, &cmd); in _test_cmd_get_dirty_bitmap()
403 #define test_cmd_get_dirty_bitmap(fd, hwpt_id, length, iova, page_size, \ argument
405 ASSERT_EQ(0, _test_cmd_get_dirty_bitmap(fd, hwpt_id, length, iova, \
408 static int _test_cmd_mock_domain_set_dirty(int fd, __u32 hwpt_id, size_t length, in _test_cmd_mock_domain_set_dirty() argument
425 ret = ioctl(fd, _IOMMU_TEST_CMD(IOMMU_TEST_OP_DIRTY), &cmd); in _test_cmd_mock_domain_set_dirty()
433 #define test_cmd_mock_domain_set_dirty(fd, hwpt_id, length, iova, page_size, \ argument
436 _test_cmd_mock_domain_set_dirty(fd, hwpt_id, length, iova, \
439 static int _test_mock_dirty_bitmaps(int fd, __u32 hwpt_id, size_t length, in _test_mock_dirty_bitmaps() argument
455 test_cmd_mock_domain_set_dirty(fd, hwpt_id, length, iova, page_size, in _test_mock_dirty_bitmaps()
461 test_cmd_get_dirty_bitmap(fd, hwpt_id, length, iova, page_size, bitmap, in _test_mock_dirty_bitmaps()
473 test_cmd_get_dirty_bitmap(fd, hwpt_id, length, iova, page_size, bitmap, in _test_mock_dirty_bitmaps()
491 ASSERT_EQ(0, _test_mock_dirty_bitmaps(self->fd, hwpt_id, length, iova, \
495 static int _test_cmd_create_access(int fd, unsigned int ioas_id, in _test_cmd_create_access() argument
506 ret = ioctl(fd, IOMMU_TEST_CMD, &cmd); in _test_cmd_create_access()
513 ASSERT_EQ(0, _test_cmd_create_access(self->fd, ioas_id, access_id, \
523 static int _test_cmd_destroy_access_pages(int fd, unsigned int access_id, in _test_cmd_destroy_access_pages() argument
532 return ioctl(fd, IOMMU_TEST_CMD, &cmd); in _test_cmd_destroy_access_pages()
535 ASSERT_EQ(0, _test_cmd_destroy_access_pages(self->fd, access_id, \
539 self->fd, access_id, access_pages_id))
541 static int _test_ioctl_destroy(int fd, unsigned int id) in _test_ioctl_destroy() argument
547 return ioctl(fd, IOMMU_DESTROY, &cmd); in _test_ioctl_destroy()
549 #define test_ioctl_destroy(id) ASSERT_EQ(0, _test_ioctl_destroy(self->fd, id))
551 static int _test_ioctl_ioas_alloc(int fd, __u32 *id) in _test_ioctl_ioas_alloc() argument
558 ret = ioctl(fd, IOMMU_IOAS_ALLOC, &cmd); in _test_ioctl_ioas_alloc()
566 ASSERT_EQ(0, _test_ioctl_ioas_alloc(self->fd, id)); \
570 static int _test_ioctl_ioas_map(int fd, unsigned int ioas_id, void *buffer, in _test_ioctl_ioas_map() argument
585 ret = ioctl(fd, IOMMU_IOAS_MAP, &cmd); in _test_ioctl_ioas_map()
590 ASSERT_EQ(0, _test_ioctl_ioas_map(self->fd, self->ioas_id, buffer, \
597 _test_ioctl_ioas_map(self->fd, self->ioas_id, buffer, \
603 ASSERT_EQ(0, _test_ioctl_ioas_map(self->fd, ioas_id, buffer, length, \
612 self->fd, self->ioas_id, buffer, length, \
624 self->fd, ioas_id, buffer, length, &__iova, \
635 self->fd, self->ioas_id, buffer, length, \
642 static int _test_ioctl_ioas_unmap(int fd, unsigned int ioas_id, uint64_t iova, in _test_ioctl_ioas_unmap() argument
653 ret = ioctl(fd, IOMMU_IOAS_UNMAP, &cmd); in _test_ioctl_ioas_unmap()
659 ASSERT_EQ(0, _test_ioctl_ioas_unmap(self->fd, self->ioas_id, iova, \
663 ASSERT_EQ(0, _test_ioctl_ioas_unmap(self->fd, ioas_id, iova, length, \
667 EXPECT_ERRNO(_errno, _test_ioctl_ioas_unmap(self->fd, self->ioas_id, \
670 static int _test_ioctl_ioas_map_file(int fd, unsigned int ioas_id, int mfd, in _test_ioctl_ioas_map_file() argument
678 .fd = mfd, in _test_ioctl_ioas_map_file()
687 ret = ioctl(fd, IOMMU_IOAS_MAP_FILE, &cmd); in _test_ioctl_ioas_map_file()
695 self->fd, self->ioas_id, mfd, start, length, iova_p, \
702 self->fd, self->ioas_id, mfd, start, length, iova_p, \
708 self->fd, ioas_id, mfd, start, length, iova_p, \
711 static int _test_ioctl_set_temp_memory_limit(int fd, unsigned int limit) in _test_ioctl_set_temp_memory_limit() argument
719 return ioctl(fd, _IOMMU_TEST_CMD(IOMMU_TEST_OP_SET_TEMP_MEMORY_LIMIT), in _test_ioctl_set_temp_memory_limit()
724 ASSERT_EQ(0, _test_ioctl_set_temp_memory_limit(self->fd, limit))
729 static void teardown_iommufd(int fd, struct __test_metadata *_metadata) in teardown_iommufd() argument
738 if (fd == -1) in teardown_iommufd()
741 EXPECT_EQ(0, close(fd)); in teardown_iommufd()
743 fd = open("/dev/iommu", O_RDWR); in teardown_iommufd()
744 EXPECT_NE(-1, fd); in teardown_iommufd()
745 EXPECT_EQ(0, ioctl(fd, _IOMMU_TEST_CMD(IOMMU_TEST_OP_MD_CHECK_REFS), in teardown_iommufd()
747 EXPECT_EQ(0, close(fd)); in teardown_iommufd()
759 static int _test_cmd_get_hw_info(int fd, __u32 device_id, void *data, in _test_cmd_get_hw_info() argument
772 ret = ioctl(fd, IOMMU_GET_HW_INFO, &cmd); in _test_cmd_get_hw_info()
812 ASSERT_EQ(0, _test_cmd_get_hw_info(self->fd, device_id, data, \
816 EXPECT_ERRNO(_errno, _test_cmd_get_hw_info(self->fd, device_id, data, \
820 ASSERT_EQ(0, _test_cmd_get_hw_info(self->fd, device_id, NULL, 0, &caps))
822 static int _test_ioctl_fault_alloc(int fd, __u32 *fault_id, __u32 *fault_fd) in _test_ioctl_fault_alloc() argument
829 ret = ioctl(fd, IOMMU_FAULT_QUEUE_ALLOC, &cmd); in _test_ioctl_fault_alloc()
839 ASSERT_EQ(0, _test_ioctl_fault_alloc(self->fd, fault_id, \
845 static int _test_cmd_trigger_iopf(int fd, __u32 device_id, __u32 fault_fd) in _test_cmd_trigger_iopf() argument
865 ret = ioctl(fd, _IOMMU_TEST_CMD(IOMMU_TEST_OP_TRIGGER_IOPF), &trigger_iopf_cmd); in _test_cmd_trigger_iopf()
883 ASSERT_EQ(0, _test_cmd_trigger_iopf(self->fd, device_id, fault_fd))
885 static int _test_cmd_viommu_alloc(int fd, __u32 device_id, __u32 hwpt_id, in _test_cmd_viommu_alloc() argument
897 ret = ioctl(fd, IOMMU_VIOMMU_ALLOC, &cmd); in _test_cmd_viommu_alloc()
906 ASSERT_EQ(0, _test_cmd_viommu_alloc(self->fd, device_id, hwpt_id, \
910 _test_cmd_viommu_alloc(self->fd, device_id, hwpt_id, \
913 static int _test_cmd_vdevice_alloc(int fd, __u32 viommu_id, __u32 idev_id, in _test_cmd_vdevice_alloc() argument
924 ret = ioctl(fd, IOMMU_VDEVICE_ALLOC, &cmd); in _test_cmd_vdevice_alloc()
933 ASSERT_EQ(0, _test_cmd_vdevice_alloc(self->fd, viommu_id, idev_id, \
937 _test_cmd_vdevice_alloc(self->fd, viommu_id, idev_id, \