X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Fcommon%2Finclude%2Frte_vfio.h;h=20ed8c45a915cc0144ca796486189e2f6376c7d5;hb=df3ff6be2b33faea3edf3c112b9bdc5b74d6f684;hp=cae96fab90f6af923ea6ac2d4d20c78c2bffb9fd;hpb=6bcb7c95fe14544bca9de1a698e4553533192197;p=dpdk.git diff --git a/lib/librte_eal/common/include/rte_vfio.h b/lib/librte_eal/common/include/rte_vfio.h index cae96fab90..20ed8c45a9 100644 --- a/lib/librte_eal/common/include/rte_vfio.h +++ b/lib/librte_eal/common/include/rte_vfio.h @@ -80,6 +80,8 @@ struct vfio_device_info; #endif /* VFIO_PRESENT */ +#define RTE_VFIO_DEFAULT_CONTAINER_FD (-1) + /** * Setup vfio_cfg for the device identified by its address. * It discovers the configured I/O MMU groups or sets a new one for the device. @@ -178,7 +180,7 @@ int rte_vfio_noiommu_is_enabled(void); * an error on BSD. * * @param vfio_group_fd - * VFIO Grouup FD. + * VFIO Group FD. * * @return * 0 on success. @@ -187,50 +189,6 @@ int rte_vfio_noiommu_is_enabled(void); int rte_vfio_clear_group(int vfio_group_fd); -/** - * Map memory region for use with VFIO. - * - * @note Require at least one device to be attached at the time of - * mapping. DMA maps done via this API will only apply to default - * container and will not apply to any of the containers created - * via rte_vfio_container_create(). - * - * @param vaddr - * Starting virtual address of memory to be mapped. - * - * @param iova - * Starting IOVA address of memory to be mapped. - * - * @param len - * Length of memory segment being mapped. - * - * @return - * 0 if success. - * -1 on error. - */ -int -rte_vfio_dma_map(uint64_t vaddr, uint64_t iova, uint64_t len); - - -/** - * Unmap memory region from VFIO. - * - * @param vaddr - * Starting virtual address of memory to be unmapped. - * - * @param iova - * Starting IOVA address of memory to be unmapped. - * - * @param len - * Length of memory segment being unmapped. - * - * @return - * 0 if success. - * -1 on error. - */ - -int -rte_vfio_dma_unmap(uint64_t vaddr, uint64_t iova, uint64_t len); /** * Parse IOMMU group number for a device * @@ -291,6 +249,10 @@ rte_vfio_get_group_fd(int iommu_group_num); * containers by default, user needs to manage DMA mappings for * any container created by this API. * + * @note When creating containers using this API, the container will only be + * available in the process that has created it. Sharing containers and + * devices between multiple processes is not supported. + * * @return * the container fd if successful * <0 if failed @@ -347,7 +309,8 @@ rte_vfio_container_group_unbind(int container_fd, int iommu_group_num); * Perform DMA mapping for devices in a container. * * @param container_fd - * the specified container fd + * the specified container fd. Use RTE_VFIO_DEFAULT_CONTAINER_FD to + * use the default container. * * @param vaddr * Starting virtual address of memory to be mapped. @@ -370,7 +333,8 @@ rte_vfio_container_dma_map(int container_fd, uint64_t vaddr, * Perform DMA unmapping for devices in a container. * * @param container_fd - * the specified container fd + * the specified container fd. Use RTE_VFIO_DEFAULT_CONTAINER_FD to + * use the default container. * * @param vaddr * Starting virtual address of memory to be unmapped.