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);
299 container is supported as an IOMMU table is allocated at the boot time,
305 container.
332 enables the container. The locked pages accounting
337 disables the container.
347 /* Add the group to the container */
348 ioctl(group, VFIO_GROUP_SET_CONTAINER, &container);
351 ioctl(container, VFIO_SET_IOMMU, VFIO_SPAPR_TCE_IOMMU)
355 ioctl(container, VFIO_IOMMU_SPAPR_TCE_GET_INFO, &spapr_iommu_info);
357 if (ioctl(container, VFIO_IOMMU_ENABLE))
358 /* Cannot enable container, may be low rlimit */
369 ioctl(container, VFIO_IOMMU_MAP_DMA, &dma_map);
380 ioctl(container, VFIO_CHECK_EXTENSION, VFIO_EEH);
384 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
393 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
409 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
417 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
429 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
437 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
439 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
443 ioctl(container, VFIO_EEH_PE_OP, &pe_op);
470 The ranges are stored in a linked list in a VFIO container.