[dpdk-dev] [EXT] [PATCH 5/6] build: add option for armv8 crypto extension

Jerin Jacob Kollanukkaran jerinj at marvell.com
Sat Apr 13 09:22:46 CEST 2019


> -----Original Message-----
> From: Yongseok Koh <yskoh at mellanox.com>
> Sent: Saturday, April 13, 2019 4:55 AM
> To: bruce.richardson at intel.com; Jerin Jacob Kollanukkaran
> <jerinj at marvell.com>; Pavan Nikhilesh Bhagavatula
> <pbhagavatula at marvell.com>; shahafs at mellanox.com
> Cc: dev at dpdk.org; thomas at monjalon.net; gavin.hu at arm.com;
> Honnappa.Nagarahalli at arm.com
> Subject: [EXT] [PATCH 5/6] build: add option for armv8 crypto extension
> 
>  CONFIG_RTE_MACHINE="armv8a"
> +CONFIG_RTE_ENABLE_ARMV8_CRYPTO=y

This approach is not scalable. Even, it is not good for BlueField as you 
you need to maintain two images.

Unlike other CPU flags, arm64's crypto cpu flag is really _optional_.
Access to crypto instructions is always at under runtime check.
See the following in rte_armv8_pmd.c


	/* Check CPU for support for AES instruction set */
	if (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_AES)) {
		ARMV8_CRYPTO_LOG_ERR(
			"AES instructions not supported by CPU");
		return -EFAULT;
	}

	/* Check CPU for support for SHA instruction set */
	if (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_SHA1) ||
	    !rte_cpu_get_flag_enabled(RTE_CPUFLAG_SHA2)) {
		ARMV8_CRYPTO_LOG_ERR(
			"SHA1/SHA2 instructions not supported by CPU");
		return -EFAULT;
	}

So In order to avoid one more config flags specific to armv8 in meson and makefile build infra
And avoid the need for 6/6 patch. IMO,
# Introduce optional CPU flag scheme in eal. Treat armv8 crypto as optional flag
# Skip the eal init check for optional flag.

Do you see any issues with that approach?









More information about the dev mailing list