Go to file
Romain Delhomel 36c3c4df13 bus/fslmc: fix VFIO setup
At device probe, the fslmc bus driver calls rte_vfio_get_group_fd() to
get a fd associated to a vfio group. This function first checks if the
group is already opened, else it opens /dev/vfio/%u, and increases the
number of active groups in default_vfio_cfg (which references the
default vfio container).

When adding the first group to a vfio_cfg, the caller is supposed to
pick an IOMMU type and set up DMA mappings for container, as it's done
by pci bus, but it is not done here. Instead, a new container is created
and used.

This prevents the pci bus driver, which uses the default_vfio_cfg
container, to configure the container because
default_vfio_cfg->active_group > 1.

This patch fixes the issue by always creating a new container (and its
associated vfio_cfg) and binding the group to it.

Fixes: a69f793002 ("bus/fslmc: support multi VFIO group")
Cc: stable@dpdk.org

Signed-off-by: Romain Delhomel <romain.delhomel@6wind.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2022-06-07 20:49:20 +02:00
.ci ci: build some job with ASan 2022-05-11 14:05:57 +02:00
.github/workflows ci: build some job with ASan 2022-05-11 14:05:57 +02:00
app replace zero-length arrays with flexible ones 2022-06-07 16:44:21 +02:00
buildtools build: fix build on FreeBSD with Meson 0.61.1 2022-03-08 16:37:22 +01:00
config config/arm: disable SVE ACLE for CN10K 2022-06-02 00:36:35 +02:00
devtools cocci: add script for zero-length arrays in structs 2022-06-07 16:44:21 +02:00
doc doc: describe OFS in ifpga guide 2022-06-07 15:50:54 +02:00
drivers bus/fslmc: fix VFIO setup 2022-06-07 20:49:20 +02:00
examples replace zero-length arrays with flexible ones 2022-06-07 16:44:21 +02:00
kernel kni: fix build 2022-06-06 12:49:51 +02:00
lib replace zero-length arrays with flexible ones 2022-06-07 16:44:21 +02:00
license lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
usertools usertools/devbind: support virtio block device 2022-06-01 11:50:10 +02:00
.editorconfig devtools: clarify that lines up to 100 characters are ok 2021-11-25 11:51:24 +01:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: add eventdev feature matrices 2021-11-26 16:29:25 +01:00
.travis.yml version: 22.07-rc0 2022-03-21 13:56:40 +01:00
ABI_VERSION version: 22.07-rc0 2022-03-21 13:56:40 +01:00
MAINTAINERS eal: add seqlock 2022-06-07 13:33:14 +02:00
Makefile build: create dummy Makefile 2020-09-07 23:51:57 +02:00
meson_options.txt config: add option for atomic mbuf reference counting 2021-10-25 17:53:30 +02:00
meson.build app/testpmd: register driver specific commands 2022-05-31 17:09:12 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 22.07-rc0 2022-03-21 13:56:40 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org