[dpdk-stable] patch 'config: disable armv8 crypto extension' has been queued to LTS release 18.11.3
Kevin Traynor
ktraynor at redhat.com
Fri Jun 21 18:46:06 CEST 2019
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/26/19. So please
shout if anyone has objections.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a4029ffab0f29ef6f0416604a3fcdaf9544f9c00
Thanks.
Kevin Traynor
---
>From a4029ffab0f29ef6f0416604a3fcdaf9544f9c00 Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh at mellanox.com>
Date: Tue, 7 May 2019 14:11:40 -0700
Subject: [PATCH] config: disable armv8 crypto extension
[ upstream commit e404de13054a4149253ddd3fb1f179a4c7d7ae4d ]
Per armv8 crypto extension support, make build always enable it by default
as long as compiler supports the feature while meson build only enables it
for 'default' machine of generic armv8 architecture.
It is known that not all the armv8 platforms have the crypto extension. For
example, Mellanox BlueField has a variant which doesn't have it. If crypto
enabled binary runs on such a platform, rte_eal_init() fails.
'+crypto' flag currently implies only '+aes' and '+sha2' and enabling it
will generate the crypto instructions only when crypto intrinsics are used.
For the devices supporting 8.2 crypto or newer, compiler could generate
such instructions beyond intrinsics or asm code. For example, compiler can
generate 3-way exclusive OR instructions if sha3 is supported. However, it
has to be enabled by adding '+sha3' as of today.
In DPDK, armv8 cryptodev is the only one which requires the crypto support.
As it even uses external library of Marvell which is compiled out of DPDK
with crypto support and there's run-time check for required cpuflags,
crypto support can be disabled in DPDK.
Signed-off-by: Yongseok Koh <yskoh at mellanox.com>
Acked-by: Jerin Jacob <jerinj at marvell.com>
Tested-by: Dharmik Thakkar <dharmik.thakkar at arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>
---
config/arm/meson.build | 2 +-
mk/machine/armv8a/rte.vars.mk | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 9feb54f22..2a5615893 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -10,5 +10,5 @@ arm_force_default_march = (machine == 'default')
machine_args_generic = [
- ['default', ['-march=armv8-a+crc+crypto']],
+ ['default', ['-march=armv8-a+crc']],
['native', ['-march=native']],
['0xd03', ['-mcpu=cortex-a53']],
diff --git a/mk/machine/armv8a/rte.vars.mk b/mk/machine/armv8a/rte.vars.mk
index 8252efbb7..5e3ffc3ad 100644
--- a/mk/machine/armv8a/rte.vars.mk
+++ b/mk/machine/armv8a/rte.vars.mk
@@ -29,3 +29,3 @@
# CPU_ASFLAGS =
-MACHINE_CFLAGS += -march=armv8-a+crc+crypto
+MACHINE_CFLAGS += -march=armv8-a+crc
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-06-21 17:22:12.894379422 +0100
+++ 0022-config-disable-armv8-crypto-extension.patch 2019-06-21 17:22:11.733518898 +0100
@@ -1 +1 @@
-From e404de13054a4149253ddd3fb1f179a4c7d7ae4d Mon Sep 17 00:00:00 2001
+From a4029ffab0f29ef6f0416604a3fcdaf9544f9c00 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e404de13054a4149253ddd3fb1f179a4c7d7ae4d ]
+
@@ -26,2 +27,0 @@
-Cc: stable at dpdk.org
-
@@ -33,4 +33,3 @@
- config/arm/meson.build | 2 +-
- doc/guides/rel_notes/release_19_08.rst | 2 ++
- mk/machine/armv8a/rte.vars.mk | 2 +-
- 3 files changed, 4 insertions(+), 2 deletions(-)
+ config/arm/meson.build | 2 +-
+ mk/machine/armv8a/rte.vars.mk | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
@@ -39 +38 @@
-index 7fa6ed310..abc8cf346 100644
+index 9feb54f22..2a5615893 100644
@@ -42 +41 @@
-@@ -75,5 +75,5 @@ flags_octeontx2_extra = [
+@@ -10,5 +10,5 @@ arm_force_default_march = (machine == 'default')
@@ -49,11 +47,0 @@
-diff --git a/doc/guides/rel_notes/release_19_08.rst b/doc/guides/rel_notes/release_19_08.rst
-index a17e7dea5..c199270c5 100644
---- a/doc/guides/rel_notes/release_19_08.rst
-+++ b/doc/guides/rel_notes/release_19_08.rst
-@@ -70,4 +70,6 @@ Removed Items
- * Removed KNI ethtool, CONFIG_RTE_KNI_KMOD_ETHTOOL, support.
-
-+* build: armv8 crypto extension is disabled.
-+
-
- API Changes
More information about the stable
mailing list