[dpdk-dev] [PATCH dpdk v2] vfio/ppc64/spapr: Use correct structures for add/remove windows
Burakov, Anatoly
anatoly.burakov at intel.com
Wed Apr 26 10:15:29 CEST 2017
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Alexey
> Kardashevskiy
> Sent: Wednesday, April 26, 2017 9:07 AM
> To: dev at dpdk.org
> Cc: Alexey Kardashevskiy <aik at ozlabs.ru>
> Subject: [dpdk-dev] [PATCH dpdk v2] vfio/ppc64/spapr: Use correct
> structures for add/remove windows
>
> 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 at ozlabs.ru>
> ---
> Changes:
> v2:
> * changed commit log after I realized that the linux UAPI headers are
> currently used and if a distro is quite fresh, it has everything defined correctly
> ---
> lib/librte_eal/linuxapp/eal/eal_vfio.h | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.h
> b/lib/librte_eal/linuxapp/eal/eal_vfio.h
> index 239ac4d8d..4a0283cb4 100644
> --- a/lib/librte_eal/linuxapp/eal/eal_vfio.h
> +++ b/lib/librte_eal/linuxapp/eal/eal_vfio.h
> @@ -69,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;
> };
>
> --
> 2.11.0
That was quite an oversight on my part!..
Acked-by: Anatoly Burakov <anatoly.burakov at intel.com>
More information about the dev
mailing list