Lines Matching refs:info_cmd
1463 TEST_F(iommufd, info_cmd)
1465 struct vfio_iommu_type1_info info_cmd = {};
1468 info_cmd.argsz = 1;
1469 EXPECT_ERRNO(EINVAL, ioctl(self->fd, VFIO_IOMMU_GET_INFO, &info_cmd));
1471 info_cmd.argsz = sizeof(info_cmd);
1472 EXPECT_ERRNO(ENODEV, ioctl(self->fd, VFIO_IOMMU_GET_INFO, &info_cmd));
1608 struct vfio_iommu_type1_info *info_cmd)
1612 ASSERT_GE(info_cmd->argsz, info_cmd->cap_offset + sizeof(*cap));
1613 cap = buffer + info_cmd->cap_offset;
1620 cap_size = (buffer + info_cmd->argsz) - (void *)cap;
1649 ASSERT_GE(info_cmd->argsz, cap->next + sizeof(*cap));
1657 struct vfio_iommu_type1_info *info_cmd = buffer;
1662 *info_cmd = (struct vfio_iommu_type1_info){
1666 ASSERT_NE(0, info_cmd->iova_pgsizes);
1668 info_cmd->flags);
1671 *info_cmd = (struct vfio_iommu_type1_info){
1672 .argsz = sizeof(*info_cmd),
1675 ASSERT_NE(0, info_cmd->iova_pgsizes);
1677 info_cmd->flags);
1678 ASSERT_EQ(0, info_cmd->cap_offset);
1679 ASSERT_LT(sizeof(*info_cmd), info_cmd->argsz);
1682 caplen = info_cmd->argsz;
1683 for (i = sizeof(*info_cmd); i < caplen; i++) {
1684 *info_cmd = (struct vfio_iommu_type1_info){
1689 info_cmd->flags);
1690 if (!info_cmd->cap_offset)
1692 check_vfio_info_cap_chain(_metadata, info_cmd);