Intel VT-d supports different address widths for the IOVAs, from 39 bits to 56 bits. While recent processors support at least 48 bits, VT-d emulation currently only supports 39 bits. It makes DMA mapping to fail in this case when using VA as IOVA mode, as user-space virtual addresses uses up to 47 bits (see kernel's Documentation/x86/x86_64/mm.txt). This patch parses VT-d CAP register value available in sysfs, and forbid VA as IOVA mode if the GAW is 39 bits or unknown. Fixes: f37dfab21c98 ("drivers/net: enable IOVA mode for Intel PMDs") Cc: stable@dpdk.org Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Tested-by: Chas Williams <chas3@att.com>
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
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%