X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Flinuxapp%2Feal%2Feal_vfio.h;h=5ff63e5d7579c79a3eefe5d40a2cfccf4f801ddb;hb=9cdbd44ea94020f1b28b1407b73f2a34bc424a4f;hp=b7ca3a79247e91f162174d30b6ec1c9fe6298237;hpb=94c0776b1badd1ee715d60f07391058f23494365;p=dpdk.git diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.h b/lib/librte_eal/linuxapp/eal/eal_vfio.h index b7ca3a7924..5ff63e5d75 100644 --- a/lib/librte_eal/linuxapp/eal/eal_vfio.h +++ b/lib/librte_eal/linuxapp/eal/eal_vfio.h @@ -60,19 +60,6 @@ #define VFIO_IOMMU_SPAPR_TCE_CREATE _IO(VFIO_TYPE, VFIO_BASE + 19) #define VFIO_IOMMU_SPAPR_TCE_REMOVE _IO(VFIO_TYPE, VFIO_BASE + 20) -/* SPAPR_v2 is not present, but SPAPR might be */ -#ifndef VFIO_SPAPR_TCE_IOMMU -#define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) - -struct vfio_iommu_spapr_tce_info { - uint32_t argsz; - uint32_t flags; - uint32_t dma32_window_start; - uint32_t dma32_window_size; - struct vfio_iommu_spapr_tce_ddw_info ddw; -}; -#endif - struct vfio_iommu_spapr_register_memory { uint32_t argsz; uint32_t flags; @@ -82,13 +69,21 @@ struct vfio_iommu_spapr_register_memory { struct vfio_iommu_spapr_tce_create { uint32_t argsz; + uint32_t flags; + /* in */ uint32_t page_shift; + uint32_t __resv1; uint64_t window_size; uint32_t levels; + uint32_t __resv2; + /* out */ + uint64_t start_addr; }; struct vfio_iommu_spapr_tce_remove { uint32_t argsz; + uint32_t flags; + /* in */ uint64_t start_addr; }; @@ -97,7 +92,21 @@ struct vfio_iommu_spapr_tce_ddw_info { uint32_t max_dynamic_windows_supported; uint32_t levels; }; -#else + +/* SPAPR_v2 is not present, but SPAPR might be */ +#ifndef VFIO_SPAPR_TCE_IOMMU +#define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) + +struct vfio_iommu_spapr_tce_info { + uint32_t argsz; + uint32_t flags; + uint32_t dma32_window_start; + uint32_t dma32_window_size; + struct vfio_iommu_spapr_tce_ddw_info ddw; +}; +#endif /* VFIO_SPAPR_TCE_IOMMU */ + +#else /* VFIO_SPAPR_TCE_v2_IOMMU */ #define RTE_VFIO_SPAPR VFIO_SPAPR_TCE_v2_IOMMU #endif @@ -125,6 +134,7 @@ int vfio_mp_sync_connect_to_primary(void); struct vfio_group { int group_no; int fd; + int devices; }; struct vfio_config {