Lines Matching defs:info

307 					 struct vfio_device_info *info)
309 info->flags = VFIO_DEVICE_FLAGS_CCW | VFIO_DEVICE_FLAGS_RESET;
310 info->num_regions = VFIO_CCW_NUM_REGIONS + private->num_regions;
311 info->num_irqs = VFIO_CCW_NUM_IRQS;
317 struct vfio_region_info *info,
322 switch (info->index) {
324 info->offset = 0;
325 info->size = sizeof(struct ccw_io_region);
326 info->flags = VFIO_REGION_INFO_FLAG_READ
337 if (info->index >=
341 info->index = array_index_nospec(info->index,
345 i = info->index - VFIO_CCW_NUM_REGIONS;
347 info->offset = VFIO_CCW_INDEX_TO_OFFSET(info->index);
348 info->size = private->region[i].size;
349 info->flags = private->region[i].flags;
359 info->flags |= VFIO_REGION_INFO_FLAG_CAPS;
360 if (info->argsz < sizeof(*info) + caps.size) {
361 info->argsz = sizeof(*info) + caps.size;
362 info->cap_offset = 0;
364 vfio_info_cap_shift(&caps, sizeof(*info));
365 if (copy_to_user((void __user *)arg + sizeof(*info),
370 info->cap_offset = sizeof(*info);
380 static int vfio_ccw_mdev_get_irq_info(struct vfio_irq_info *info)
382 switch (info->index) {
386 info->count = 1;
387 info->flags = VFIO_IRQ_INFO_EVENTFD;
519 struct vfio_device_info info;
523 if (copy_from_user(&info, (void __user *)arg, minsz))
526 if (info.argsz < minsz)
529 ret = vfio_ccw_mdev_get_device_info(private, &info);
533 return copy_to_user((void __user *)arg, &info, minsz) ? -EFAULT : 0;
537 struct vfio_region_info info;
541 if (copy_from_user(&info, (void __user *)arg, minsz))
544 if (info.argsz < minsz)
547 ret = vfio_ccw_mdev_get_region_info(private, &info, arg);
551 return copy_to_user((void __user *)arg, &info, minsz) ? -EFAULT : 0;
555 struct vfio_irq_info info;
559 if (copy_from_user(&info, (void __user *)arg, minsz))
562 if (info.argsz < minsz || info.index >= VFIO_CCW_NUM_IRQS)
565 ret = vfio_ccw_mdev_get_irq_info(&info);
569 if (info.count == -1)
572 return copy_to_user((void __user *)arg, &info, minsz) ? -EFAULT : 0;