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>
2012/03/30 - Mark Hatle mark.hatle@windriver.com
- Initial Revision
The ARM architecture definitions are split among a number of files. The primary definitions for the variables are handled by the core arch-arm.inc file.
TUNE_ARCH is set to either "arm" or "armeb" depending on the value of the existence of the "bigendian" feature in a given tune.
A small set of ARM specific variables have been defined to allow TUNE_PKGARCH to be automatically defined. Optimized tunings must NOT change the definiton of TUNE_PKGARCH. TUNE_PKGACH:tune- will be ignored. The format of the package arch is enforced by the TUNE_PKGARCH default. The format must be of the form: [t][e][hf][b][-vfp][-neon]
TUNE_PKGARCH is defined as: ${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}
ARMPKGARCH - This is the core package arch component specified by each tuning. This is the primary identifier of a tuning. Usual values are: arm, armv4, armv5, armv6, armv7a, etc.
ARMPKGSFX_THUMB - This is the thumb specific suffix. Curently it is defined in feature-arm-thumb.inc.
ARMPKGSFX_DSP - This is the DSP specific suffix. Currently this is set to 'e' when on armv5 and the dsp feature is enabled.
ARMPKGSFX_EABI - This is the eabi specific suffix. There are currently
two defined ABIs specificed, standard EABI and Hard Float (VFP) EABI.
When the callconvention-hard is enabled, "hf" is specified, otherwise it
is blank.
ARMPKGSFX_ENDIAN - This is the endian specific suffix. It is defined in the core arch-arm.inc file.
ARMPKGSFX_FPU - This is the FPU specific suffix. The suffix indicates specific FPU optimizations. 'vfp' and 'neon' are both defined.