Lines Matching refs:container

80 a container class, which may hold one or more groups.  A container
83 On its own, the container provides little functionality, with all
85 The user needs to add a group into the container for the next level
99 Once the group is ready, it may be added to the container by opening
102 previously opened container file. If desired and if the IOMMU driver
104 be set to the same container. If a group fails to set to a container
105 with existing groups, a new empty container will need to be used
108 With a group (or groups) attached to a container, the remaining
169 int container, group, device, i;
176 /* Create a new container */
177 container = open("/dev/vfio/vfio", O_RDWR);
179 if (ioctl(container, VFIO_GET_API_VERSION) != VFIO_API_VERSION)
182 if (!ioctl(container, VFIO_CHECK_EXTENSION, VFIO_TYPE1_IOMMU))
194 /* Add the group to the container */
195 ioctl(group, VFIO_GROUP_SET_CONTAINER, &container);
198 ioctl(container, VFIO_SET_IOMMU, VFIO_TYPE1_IOMMU);
201 ioctl(container, VFIO_IOMMU_GET_INFO, &iommu_info);
210 ioctl(container, VFIO_IOMMU_MAP_DMA, &dma_map);
302 container is supported as an IOMMU table is allocated at the boot time,
308 container.
335 enables the container. The locked pages accounting
340 disables the container.
350 /* Add the group to the container */
351 ioctl(group, VFIO_GROUP_SET_CONTAINER, &container);
354 ioctl(container, VFIO_SET_IOMMU, VFIO_SPAPR_TCE_IOMMU)
358 ioctl(container, VFIO_IOMMU_SPAPR_TCE_GET_INFO, &spapr_iommu_info);
360 if (ioctl(container, VFIO_IOMMU_ENABLE))
361 /* Cannot enable container, may be low rlimit */
372 ioctl(container, VFIO_IOMMU_MAP_DMA, &dma_map);
383 ioctl(container, VFIO_CHECK_EXTENSION, VFIO_EEH);
387 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
396 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
412 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
420 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
432 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
440 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
442 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
446 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
473 The ranges are stored in a linked list in a VFIO container.