diff options
author | Jon Mason <jdmason@kudzu.us> | 2025-08-12 18:21:42 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-08-14 10:31:10 +0100 |
commit | fcc2ee6aa90f72a2fe29f13985c6054567b26b55 (patch) | |
tree | f0c906ef7b7d56f00b3109245d558b6f52b69dbf | |
parent | f92aafa05691b720fb543a54bc6c042ff397ada7 (diff) | |
download | poky-fcc2ee6aa90f72a2fe29f13985c6054567b26b55.tar.gz |
arm: add nocrypto TUNE_FEATURE to complement crypto
Add a `nocrypto` TUNE_FEATURE option to `feature-arm-crypto.inc`
to explicitly disable ARM crypto extensions via GCC flags. This
provides an opposing state to the existing `crypto` feature,
enabling more explicit control over crypto-related tuning.
Some vendors ship cores without crypto support, and this change
allows disabling it without requiring extensive audits of
dependent code paths. This approach avoids the knock-on effects
caused when `nocrypto` is applied implicitly in the absence of
`crypto` in TUNE_FEATURES.
TUNECONFLICTS was added to prevent both features from being
enabled simultaneously. When both are added, the following error
is seen during build:
Feature 'nocrypto' conflicts with 'crypto'.
Feature 'crypto' conflicts with 'nocrypto'.
(From OE-Core rev: 51e0da4db61abcc546af216609f172204ddb17ab)
Signed-off-by: Jon Mason <jon.mason@arm.com>
Cc: Ryan Eatmon <reatmon@ti.com>
Cc: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/conf/machine/include/arm/feature-arm-crypto.inc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/meta/conf/machine/include/arm/feature-arm-crypto.inc b/meta/conf/machine/include/arm/feature-arm-crypto.inc index aade6ce08d..c1f5b1225d 100644 --- a/meta/conf/machine/include/arm/feature-arm-crypto.inc +++ b/meta/conf/machine/include/arm/feature-arm-crypto.inc | |||
@@ -3,3 +3,8 @@ | |||
3 | 3 | ||
4 | TUNEVALID[crypto] = "Enable cryptographic instructions for ARMv8" | 4 | TUNEVALID[crypto] = "Enable cryptographic instructions for ARMv8" |
5 | TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}" | 5 | TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}" |
6 | TUNECONFLICTS[crypto] = "nocrypto" | ||
7 | |||
8 | TUNEVALID[nocrypto] = "Disable cryptographic instructions for ARMv8" | ||
9 | TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'nocrypto', '+nocrypto', '', d)}" | ||
10 | TUNECONFLICTS[nocrypto] = "crypto" | ||