Lines Matching refs:feature
459 Most of the feature flags defined in the TF-A build system are allowed to take
467 feature present at runtime.
469 When setting the flag to 0, the feature is disabled during compilation, and the
473 If it is defined to 1, the code will use the feature unconditionally, so the CPU
474 is expected to support that feature. The FEATURE_DETECTION debug feature, if
477 If the feature flag is set to 2, support for the feature will be compiled in,
479 without the feature. This is mostly useful for platforms which either support
483 Adding support for a new feature
486 Adding support for a feature is required when:
488 a) a feature is added to the architecture and it includes controls at EL3
490 b) a feature is to be used by EL3 itself
492 c) EL3 wants to hide a feature from lower ELs (eg. with ``FEAT_IDTE3``)
494 The following is a checklist with guidance on what to do to add a new feature,
497 consult the Arm ARM on any specifics about the feature itself.
499 - Add a feature flag to the build system.
507 feature is listed as mandatory from a certain revision of the architecture,
511 other features which this feature depends on or is incompatible with and can
512 be found in the main description of the feature in the Arm ARM.
514 - Add the feature accessor functions in ``include/arch/aarch64/arch_features.h``.
524 - In rare occasions, the feature must be checked in assembly. A
528 - Register the feature in ``common/feat_detect.c``.
530 - Add support for the feature. This will be very feature specific and exact code
540 - If the feature introduces ``SCR_EL3``, ``MDCR_EL3``, or ``CPTR_EL3`` controls
544 - If the feature introduces any control bits in ``SCR_EL3``, ``MDCR_EL3``,
551 - If the feature comes with registers, those should be context switched if
552 enabling the feature for multiple worlds.
554 - Consider whether the feature introduces any potential side channels and how
560 Adding feature enablement that does not conform to this mechanism is only done
563 - Enable the feature for the FVP platform in ``plat/arm/board/fvp/platform.mk``,
566 - If the feature is optional, enable it in CI in the "allconfig" fragments.