X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2Flinux%2Fvfio.h;h=c1d815664c990be2f11b880b69108bbbc5e09739;hb=6a8bfd43a057da68d43074d0abc3c598c5ccb55a;hp=8e0758cf2e45d680f1b08d9bc72dc49c642b4e4b;hpb=1ba0fa4bfa3dcc9bd754b8b0b6a7c5045f9ba0dd;p=vpp.git diff --git a/src/vlib/linux/vfio.h b/src/vlib/linux/vfio.h index 8e0758cf2e4..c1d815664c9 100644 --- a/src/vlib/linux/vfio.h +++ b/src/vlib/linux/vfio.h @@ -25,10 +25,7 @@ typedef struct typedef struct { - u32 flags; -#define LINUX_VFIO_F_HAVE_IOMMU (1 << 0) int container_fd; - int ext_container_fd; /* container fd used by external library, i.e DPDK */ /* VFIO */ int iommu_mode; @@ -39,14 +36,18 @@ typedef struct /* iommu group pool index by group id hash */ uword *iommu_pool_index_by_group; + clib_bitmap_t *physmem_pages_mapped; + + /* logging */ + vlib_log_class_t log_default; } linux_vfio_main_t; extern linux_vfio_main_t vfio_main; clib_error_t *linux_vfio_init (vlib_main_t * vm); -void linux_vfio_dma_map_regions (vlib_main_t * vm); +clib_error_t *vfio_map_physmem_page (vlib_main_t * vm, void *addr); clib_error_t *linux_vfio_group_get_device_fd (vlib_pci_addr_t * addr, - int *fd); + int *fd, int *is_noiommu); #endif /* included_vlib_linux_vfio_h */