If Linux UAPI headers in the system do not have VFIO_SPAPR_TCE_v2_IOMMU
defined, DPDK define necessary structures itself. However the existing
definitions are different from ones pushed to the mainline kernel.
This copies structures passed via VFIO_IOMMU_SPAPR_TCE_CREATE and
VFIO_IOMMU_SPAPR_TCE_REMOVE ioctls.
No change in behaviour is expected if installed linux UAPI headers
have knowledge of VFIO_SPAPR_TCE_v2_IOMMU.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
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;
};