| #
fb730117 |
| 09-Oct-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(build): reorder arch features handling
With commit@f5211420b(refactor(cpufeat): refactor arch feature build options all mandatory options are enabled with 'make_helpers/arch_features.mk'
H
refactor(build): reorder arch features handling
With commit@f5211420b(refactor(cpufeat): refactor arch feature build options all mandatory options are enabled with 'make_helpers/arch_features.mk'
However the commit makes it impossible for enabling of mandatory features through command line and platform make files, So re-order handling of mandatory features in 'make_helpers/arch_features.mk'
Use below order to enable mandatory features.
1.) first enable mandatory features by arch major/minor 2.) check if features were not earlier defined in platform makefile or through cmdline if defined earlier don't initialise them to '0' but retain their values from prior initialisation.
Change-Id: Icea3180c9dda0cd6e0b59316add9f3290ae51972 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
3547270f |
| 20-Sep-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(build): reorder platform Makefile evaluation
Commit(f5211420b refactor(cpufeat): refactor arch feature build options) ensures mandatory arch features are enabled based on ARM_ARCH_MAJOR and
refactor(build): reorder platform Makefile evaluation
Commit(f5211420b refactor(cpufeat): refactor arch feature build options) ensures mandatory arch features are enabled based on ARM_ARCH_MAJOR and ARM_ARCH_MINOR, which would be expected to be provided from platform makefile. However it missed ensuring platform makefile is included before parsing and enabling any mandatory arch features.
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> Change-Id: Ia0ccb7d73b2d24c87d3d235babed4704230bec28
show more ...
|
| #
0e1dc0f2 |
| 25-Oct-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(mpam): refine MPAM initialization and enablement process" into integration
|
| #
a093d394 |
| 25-Oct-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(build): convert tabs to spaces" into integration
|
| #
edebefbc |
| 11-Oct-2023 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(mpam): refine MPAM initialization and enablement process
Restricts MPAM to only NS world and enables trap to EL3 for access of MPAM registers from lower ELs of Secure and Realm world.
This patc
fix(mpam): refine MPAM initialization and enablement process
Restricts MPAM to only NS world and enables trap to EL3 for access of MPAM registers from lower ELs of Secure and Realm world.
This patch removes MPAM enablement from global context and adds it to EL3 State context which enables/disables MPAM during world switches. Renamed ENABLE_MPAM_FOR_LOWER_ELS to ENABLE_FEAT_MPAM and removed mpam_init_el3() as RESET behaviour is trapping.
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I131f9dba5df236a71959b2d425ee11af7f3c38c4
show more ...
|
| #
1ca73b4f |
| 20-Sep-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(build): convert tabs to spaces
Convert any used tabs in arch_features.mk to spaces to avoid makefile build issues. Only recipes should be indented with tabs.
ENABLE_TRBE_FOR_NS should be enable
fix(build): convert tabs to spaces
Convert any used tabs in arch_features.mk to spaces to avoid makefile build issues. Only recipes should be indented with tabs.
ENABLE_TRBE_FOR_NS should be enabled only for aarch64 but accidentally its enabled for aarch32 as well in FVP makefile.
Change-Id: Iee913a04d6b60a4738183a17421754c2638e8e6d Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
1e038c94 |
| 19-Sep-2023 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "fix(cpufeat): move nested virtualization support to optionals" into integration
|
| #
8b2048c1 |
| 19-Sep-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(cpufeat): move nested virtualization support to optionals
Commit(f5211420b refactor(cpufeat): refactor arch feature build options) accidentally added nested virtualization support to mandatory 8
fix(cpufeat): move nested virtualization support to optionals
Commit(f5211420b refactor(cpufeat): refactor arch feature build options) accidentally added nested virtualization support to mandatory 8.4 features move this to optional 8.4 features list.
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> Change-Id: I3eb84ea489b6a5cc419359bc056aaadcced0ad0e
show more ...
|
| #
57b557d0 |
| 18-Sep-2023 |
Mark Dykes <mark.dykes@arm.com> |
Merge "refactor(cpufeat): refactor arch feature build options" into integration
|
| #
f5211420 |
| 17-Aug-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(cpufeat): refactor arch feature build options
Current build infra defaults all cpufeats in defaults.mk and some mandatory features are enabled in arch_features.mk and optional arch features
refactor(cpufeat): refactor arch feature build options
Current build infra defaults all cpufeats in defaults.mk and some mandatory features are enabled in arch_features.mk and optional arch features are enabled in platform specific makefile. This fragmentation is sometime confusing to figure out which feature is tied to which ARCH_MAJOR.ARCH_MINOR.
So, consolidating and grouping them for tracking and enabling makes more sense. With this change we consolidate all ARCH feature handling within arch_features.mk and disable all optional features that need to be enabled to platform makefile.
This is an ongoing series of effort to consolidate and going forward platform makefile should just specify ARCH_MAJOR and ARCH MINOR and all mandatory feature should be selected based on arch_features.mk any optional feature needed by the platform support can be enabled by platform makefile.
It also makes it easier for platform ports to look upto arch_features.mk and enable any optional feature that platform may need which are supported from TF-A.
Change-Id: I18764008856d81414256b6cbabdfa42a16b8040d Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
269f3dae |
| 09-May-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "mp/feat_ras" into integration
* changes: refactor(cpufeat): enable FEAT_RAS for FEAT_STATE_CHECKED refactor(ras): replace RAS_EXTENSION with FEAT_RAS
|
| #
9202d519 |
| 13-Feb-2023 |
Manish Pandey <manish.pandey2@arm.com> |
refactor(ras): replace RAS_EXTENSION with FEAT_RAS
The current usage of RAS_EXTENSION in TF-A codebase is to cater for two things in TF-A : 1. Pull in necessary framework and platform hooks for Firm
refactor(ras): replace RAS_EXTENSION with FEAT_RAS
The current usage of RAS_EXTENSION in TF-A codebase is to cater for two things in TF-A : 1. Pull in necessary framework and platform hooks for Firmware first handling(FFH) of RAS errors. 2. Manage the FEAT_RAS extension when switching the worlds.
FFH means that all the EAs from NS are trapped in EL3 first and signaled to NS world later after the first handling is done in firmware. There is an alternate way of handling RAS errors viz Kernel First handling(KFH). Tying FEAT_RAS to RAS_EXTENSION build flag was not correct as the feature is needed for proper handling KFH in as well.
This patch breaks down the RAS_EXTENSION flag into a flag to denote the CPU architecture `ENABLE_FEAT_RAS` which is used in context management during world switch and another flag `RAS_FFH_SUPPORT` to pull in required framework and platform hooks for FFH.
Proper support for KFH will be added in future patches.
BREAKING CHANGE: The previous RAS_EXTENSION is now deprecated. The equivalent functionality can be achieved by the following 2 options: - ENABLE_FEAT_RAS - RAS_FFH_SUPPORT
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: I1abb9ab6622b8f1b15712b12f17612804d48a6ec
show more ...
|
| #
f6ca81dd |
| 07-Apr-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "jc/detect_feat" into integration
* changes: docs(build): update the feature enablement flags refactor(el3-runtime): replace ARM_ARCH_AT_LEAST macro with FEAT flags re
Merge changes from topic "jc/detect_feat" into integration
* changes: docs(build): update the feature enablement flags refactor(el3-runtime): replace ARM_ARCH_AT_LEAST macro with FEAT flags refactor(el3-runtime): add arch-features detection mechanism
show more ...
|
| #
6a0da736 |
| 17-Jan-2022 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(el3-runtime): add arch-features detection mechanism
This patch adds architectural features detection procedure to ensure features enabled are present in the given hardware implementation.
refactor(el3-runtime): add arch-features detection mechanism
This patch adds architectural features detection procedure to ensure features enabled are present in the given hardware implementation.
It verifies whether the architecture build flags passed during compilation match the respective features by reading their ID registers. It reads through all the enabled feature specific ID registers at once and panics in case of mismatch(feature enabled but not implemented in PE).
Feature flags are used at sections (context_management, save and restore routines of registers) during context switch. If the enabled feature flag is not supported by the PE, it causes an exception while saving or restoring the registers guarded by them.
With this mechanism, the build flags are validated at an early phase prior to their usage, thereby preventing any undefined action under their control.
This implementation is based on tristate approach for each feature and currently FEAT_STATE=0 and FEAT_STATE=1 are covered as part of this patch. FEAT_STATE=2 is planned for phase-2 implementation and will be taken care separately.
The patch has been explicitly tested, by adding a new test_config with build config enabling majority of the features and detected all of them under FVP launched with parameters enabling v8.7 features.
Note: This is an experimental procedure and the mechanism itself is guarded by a macro "FEATURE_DETECTION", which is currently being disabled by default.
The "FEATURE_DETECTION" macro is documented and the platforms are encouraged to make use of this diagnostic tool by enabling this "FEATURE_DETECTION" flag explicitly and get used to its behaviour during booting before the procedure gets mandated.
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Change-Id: Ia23d95430fe82d417a938b672bfb5edc401b0f43
show more ...
|