Lines Matching refs:self
74 self->device = vfio_pci_device_init(device_bdf, variant->iommu_mode); in FIXTURE_SETUP()
76 driver = &self->device->driver; in FIXTURE_SETUP()
78 region_setup(self->device, &self->memcpy_region, SZ_1G); in FIXTURE_SETUP()
79 region_setup(self->device, &driver->region, SZ_2M); in FIXTURE_SETUP()
82 self->unmapped_iova = 8UL * SZ_1G; in FIXTURE_SETUP()
84 vfio_pci_driver_init(self->device); in FIXTURE_SETUP()
85 self->msi_fd = self->device->msi_eventfds[driver->msi]; in FIXTURE_SETUP()
92 self->size = self->device->driver.max_memcpy_size; in FIXTURE_SETUP()
93 self->size = min(self->size, self->memcpy_region.size / 2); in FIXTURE_SETUP()
95 self->src = self->memcpy_region.vaddr; in FIXTURE_SETUP()
96 self->dst = self->src + self->size; in FIXTURE_SETUP()
98 self->src_iova = to_iova(self->device, self->src); in FIXTURE_SETUP()
99 self->dst_iova = to_iova(self->device, self->dst); in FIXTURE_SETUP()
104 struct vfio_pci_driver *driver = &self->device->driver; in FIXTURE_TEARDOWN()
106 vfio_pci_driver_remove(self->device); in FIXTURE_TEARDOWN()
108 region_teardown(self->device, &self->memcpy_region); in FIXTURE_TEARDOWN()
109 region_teardown(self->device, &driver->region); in FIXTURE_TEARDOWN()
111 vfio_pci_device_cleanup(self->device); in FIXTURE_TEARDOWN()
119 vfio_pci_driver_remove(self->device); in TEST_F()
120 vfio_pci_driver_init(self->device); in TEST_F()
126 fcntl_set_nonblock(self->msi_fd); in TEST_F()
128 memset(self->src, 'x', self->size); in TEST_F()
129 memset(self->dst, 'y', self->size); in TEST_F()
131 ASSERT_EQ(0, vfio_pci_driver_memcpy(self->device, in TEST_F()
132 self->src_iova, in TEST_F()
133 self->dst_iova, in TEST_F()
134 self->size)); in TEST_F()
136 ASSERT_EQ(0, memcmp(self->src, self->dst, self->size)); in TEST_F()
137 ASSERT_NO_MSI(self->msi_fd); in TEST_F()
142 fcntl_set_nonblock(self->msi_fd); in TEST_F()
148 vfio_pci_driver_memcpy(self->device, self->unmapped_iova, in TEST_F()
149 self->dst_iova, self->size); in TEST_F()
151 ASSERT_NO_MSI(self->msi_fd); in TEST_F()
156 fcntl_set_nonblock(self->msi_fd); in TEST_F()
162 vfio_pci_driver_memcpy(self->device, self->src_iova, in TEST_F()
163 self->unmapped_iova, self->size); in TEST_F()
165 ASSERT_NO_MSI(self->msi_fd); in TEST_F()
172 vfio_pci_driver_send_msi(self->device); in TEST_F()
173 ASSERT_EQ(8, read(self->msi_fd, &value, 8)); in TEST_F()
183 memset(self->src, 'x', self->size); in TEST_F()
184 memset(self->dst, 'y', self->size); in TEST_F()
186 ASSERT_EQ(0, vfio_pci_driver_memcpy(self->device, in TEST_F()
187 self->src_iova, in TEST_F()
188 self->dst_iova, in TEST_F()
189 self->size)); in TEST_F()
191 ASSERT_EQ(0, memcmp(self->src, self->dst, self->size)); in TEST_F()
193 vfio_pci_driver_memcpy(self->device, in TEST_F()
194 self->unmapped_iova, in TEST_F()
195 self->dst_iova, in TEST_F()
196 self->size); in TEST_F()
198 vfio_pci_driver_send_msi(self->device); in TEST_F()
199 ASSERT_EQ(8, read(self->msi_fd, &value, 8)); in TEST_F()
206 struct vfio_pci_driver *driver = &self->device->driver;
210 fcntl_set_nonblock(self->msi_fd);
218 count = min(total_size / self->size, driver->max_memcpy_count);
220 printf("Kicking off %lu memcpys of size 0x%lx\n", count, self->size);
221 vfio_pci_driver_memcpy_start(self->device,
222 self->src_iova,
223 self->dst_iova,
224 self->size, count);
226 ASSERT_EQ(0, vfio_pci_driver_memcpy_wait(self->device));
227 ASSERT_NO_MSI(self->msi_fd);