Go to file
Ruifeng Wang e88bd47467 net/octeontx: fix build with SVE
Building with gcc 10.2 with SVE extension enabled got error:

{standard input}: Assembler messages:
{standard input}:91: Error: selected processor does not support `addvl x4,x8,#-1'
{standard input}:95: Error: selected processor does not support `ptrue p1.d,all'
{standard input}:135: Error: selected processor does not support `whilelo p2.d,xzr,x5'
{standard input}:137: Error: selected processor does not support `decb x1'

This is because inline assembly code explicitly resets cpu model to
not have SVE support. Thus SVE instructions generated by compiler
auto vectorization got rejected by assembler.

Added SVE to the cpu model specified by inline assembly for SVE support.
Not replacing the inline assembly with C atomics because the driver relies
on specific LSE instruction to interface to co-processor [1].

Fixes: f0c7bb1bf7 ("net/octeontx/base: add octeontx IO operations")
Cc: stable@dpdk.org

[1] https://mails.dpdk.org/archives/dev/2021-January/196092.html

Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
2021-01-14 16:42:25 +01:00
.ci ci: enable v21 ABI checks 2020-12-14 15:34:04 +01:00
.github/workflows ci: fix package installation in GitHub Actions 2020-12-19 09:21:25 +01:00
app test: improve coverage on LPM tbl8 2021-01-14 16:41:40 +01:00
buildtools build: fix linker flags on Windows 2021-01-13 22:13:37 +01:00
config build: disable Windows warnings for insecure funtions 2020-12-07 21:34:04 +01:00
devtools devtools: adjust verbosity of ABI check 2021-01-13 00:04:33 +01:00
doc doc: add vtune profiling config to prog guide 2021-01-13 21:25:13 +01:00
drivers net/octeontx: fix build with SVE 2021-01-14 16:42:25 +01:00
examples build: fix linker flags on Windows 2021-01-13 22:13:37 +01:00
kernel kni: fix build on RHEL 8.3 2020-11-27 01:39:54 +01:00
lib lpm/arm: support SVE 2021-01-14 16:42:25 +01:00
license license: add licenses for exception cases 2020-12-11 12:22:19 +01:00
usertools usertools: remove dpdk-setup.sh 2020-11-27 17:25:24 +01:00
.editorconfig devtools: add EditorConfig file 2020-02-22 21:05:22 +01:00
.gitattributes
.gitignore regex/mlx5: introduce driver for BlueField 2 2020-07-21 19:04:05 +02:00
.travis.yml ci: enable v21 ABI checks 2020-12-14 15:34:04 +01:00
ABI_VERSION version: 21.02-rc0 2020-11-30 10:55:22 +01:00
MAINTAINERS net/ionic: update maintainer and documentation 2021-01-08 16:03:04 +01:00
Makefile build: create dummy Makefile 2020-09-07 23:51:57 +02:00
meson_options.txt build: update meson for Marvell Armada drivers 2021-01-08 16:03:05 +01:00
meson.build examples: fix flattening directory layout on install 2020-11-12 19:33:06 +01:00
README
VERSION version: 21.02-rc0 2020-11-30 10:55:22 +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