| #
2e0efb3f |
| 27-Jun-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(cm): context switch MDCR_EL3 register" into integration
|
| #
123002f9 |
| 18-Jun-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
feat(cm): context switch MDCR_EL3 register
Currently MDCR_EL3 register value is same for all the worlds(Non-secure, Secure, Realm and Root).
With this approach, features enable/disable settings rem
feat(cm): context switch MDCR_EL3 register
Currently MDCR_EL3 register value is same for all the worlds(Non-secure, Secure, Realm and Root).
With this approach, features enable/disable settings remain same across all the worlds. This is not ideal as there must be flexibility in controlling feature as per the requirements for individual world.
The patch addresses this by providing MDCR_EL3 a per world value. Features with identical values for all the worlds are grouped under ``manage_extensions_common`` API.
Change-Id: Ibc068d985fe165d8cb6d0ffb84119bffd743b3d1 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| #
a2d43637 |
| 17-Jul-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "bk/context_refactor" into integration
* changes: refactor(amu): separate the EL2 and EL3 enablement code refactor(cpufeat): separate the EL2 and EL3 enablement code
|
| #
60d330dc |
| 16-Feb-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(cpufeat): separate the EL2 and EL3 enablement code
Combining the EL2 and EL3 enablement code necessitates that it must be called at el3_exit, which is the only place with enough context to
refactor(cpufeat): separate the EL2 and EL3 enablement code
Combining the EL2 and EL3 enablement code necessitates that it must be called at el3_exit, which is the only place with enough context to make the decision of what needs to be set. Decouple them to allow them to be called from elsewhere.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I147764c42771e7d4100699ec8fae98dac0a505c0
show more ...
|
| #
82f5b509 |
| 27-Mar-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "feat_state_part4" into integration
* changes: refactor(cpufeat): enable FEAT_RNG for FEAT_STATE_CHECKED refactor(cpufeat): align FEAT_SEL2 to new feature handling ref
Merge changes from topic "feat_state_part4" into integration
* changes: refactor(cpufeat): enable FEAT_RNG for FEAT_STATE_CHECKED refactor(cpufeat): align FEAT_SEL2 to new feature handling refactor(cpufeat): enable FEAT_NV2 for FEAT_STATE_CHECKED refactor(cpufeat): enable FEAT_TWED for FEAT_STATE_CHECKED refactor(cpufeat): enable FEAT_CSV2_2 for FEAT_STATE_CHECKED refactor(cpufeat): enable FEAT_ECV for FEAT_STATE_CHECKED refactor(cpufeat): enable FEAT_PAN for FEAT_STATE_CHECKED refactor(cpufeat): align FEAT_SB to new feature handling refactor(cpufeat): use alternative encoding for "SB" barrier refactor(cpufeat): enable SYS_REG_TRACE for FEAT_STATE_CHECKED fix(cpufeat): make stub enable functions "static inline" fix(mpam): feat_detect: support major/minor
show more ...
|
| #
d7f3ed36 |
| 22-Mar-2023 |
Andre Przywara <andre.przywara@arm.com> |
fix(cpufeat): make stub enable functions "static inline"
For builds where we don't have a certain feature enabled, we provide empty stub xxx_enable() functions in a header file. This way we avoid #i
fix(cpufeat): make stub enable functions "static inline"
For builds where we don't have a certain feature enabled, we provide empty stub xxx_enable() functions in a header file. This way we avoid #ifdef's in the code, and can call the enable function unconditionally. When compiling with -O1 or higher, the compiler will even optimise out the whole call, so the symbol will never make it into any object file. When compiling with optimisations turned off, the function stub will survive, and could make it into multiple object files, which would lead to a multiple definitons error.
Avoid this by defining those stub functions as "static inline". The "static" will avoid the multiple definitions problems, the "inline" will avoid a potential compiler warning about unused functions. This patterns is used extensively in the Linux kernel.
Change-Id: Iad07bb946aab372587c83f2423b4983bf3817990 Reported-by: Chris Kay <chris.kay@arm.com> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
7cd2e3c9 |
| 02-Mar-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(cpufeat): resolve build errors due to compiler optimization" into integration
|
| #
e8f0dd58 |
| 01-Mar-2023 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
fix(cpufeat): resolve build errors due to compiler optimization
Currently most of the architectural feature build flags are set to 2(FEATURE_STATE_CHECK) for fvp platform only.
However other platfo
fix(cpufeat): resolve build errors due to compiler optimization
Currently most of the architectural feature build flags are set to 2(FEATURE_STATE_CHECK) for fvp platform only.
However other platforms still configure them by default to 0, which would lead to build failures in cases when compiler configured to build TF-A with zero optimization (CFLAGS='-O0').
This patch addresses such build issues and thereby resolves the failures seen under CI-l3 test_configurations.
Change-Id: I45b82b821951bba6b9df08177f7d286e624a4239 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| #
e8ad3975 |
| 06-May-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(brbe): add BRBE support for NS world" into integration
|
| #
744ad974 |
| 28-Jan-2022 |
johpow01 <john.powell@arm.com> |
feat(brbe): add BRBE support for NS world
This patch enables access to the branch record buffer control registers in non-secure EL2 and EL1 using the new build option ENABLE_BRBE_FOR_NS. It is disab
feat(brbe): add BRBE support for NS world
This patch enables access to the branch record buffer control registers in non-secure EL2 and EL1 using the new build option ENABLE_BRBE_FOR_NS. It is disabled for all secure world, and cannot be used with ENABLE_RME.
This option is disabled by default, however, the FVP platform makefile enables it for FVP builds.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I576a49d446a8a73286ea6417c16bd0b8de71fca0
show more ...
|