summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Mason <jdmason@kudzu.us>2025-08-12 18:21:42 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-08-14 10:31:10 +0100
commitfcc2ee6aa90f72a2fe29f13985c6054567b26b55 (patch)
treef0c906ef7b7d56f00b3109245d558b6f52b69dbf
parentf92aafa05691b720fb543a54bc6c042ff397ada7 (diff)
downloadpoky-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.inc5
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
4TUNEVALID[crypto] = "Enable cryptographic instructions for ARMv8" 4TUNEVALID[crypto] = "Enable cryptographic instructions for ARMv8"
5TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}" 5TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}"
6TUNECONFLICTS[crypto] = "nocrypto"
7
8TUNEVALID[nocrypto] = "Disable cryptographic instructions for ARMv8"
9TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'nocrypto', '+nocrypto', '', d)}"
10TUNECONFLICTS[nocrypto] = "crypto"