| 16e3ddba | 03-Feb-2023 |
Andre Przywara <andre.przywara@arm.com> |
fix(spe): drop SPE EL2 context switch code
At the moment we hardcode the SPE functionality to be available on the non-secure side only, by setting MDCR_EL3.NSPB accordingly. This also means that the
fix(spe): drop SPE EL2 context switch code
At the moment we hardcode the SPE functionality to be available on the non-secure side only, by setting MDCR_EL3.NSPB accordingly. This also means that the secure world cannot use SPE, so there is no need to context switch the PMSCR_EL2 register.
Drop the SPE bits from the EL2 context switch code. If any of the other EL2 worlds wish to start using SPE, this can be brought back.
Change-Id: Ie0fedb2aeb722a2c9db316051fbbe57ca0e3c0c9 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| f8a35797 | 09-Mar-2023 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
fix(smccc): check smc_fid [23:17] bits
As per SMCCC spec Table 2.1 bit 23:17 must be zero (MBZ), for all Fast Calls, when bit[31] == 1. Adding this check to ensure SMC FIDs when get to the SMC handl
fix(smccc): check smc_fid [23:17] bits
As per SMCCC spec Table 2.1 bit 23:17 must be zero (MBZ), for all Fast Calls, when bit[31] == 1. Adding this check to ensure SMC FIDs when get to the SMC handler have these bits (23:17) cleared, if not capture and report them as an unknown SMCs at the core.
Also the C runtime stack is copied to the stackpointer well in advance, to leverage the existing el3_exit routine for unknown SMC.
Change-Id: I9972216db5ac164815011177945fb34dadc871b0 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| c41b8e90 | 17-Mar-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(tcr2): support FEAT_TCR2" into integration |
| d3331603 | 14-Mar-2023 |
Mark Brown <broonie@kernel.org> |
feat(tcr2): support FEAT_TCR2
Arm v8.9 introduces FEAT_TCR2, adding extended translation control registers. Support this, context switching TCR2_EL2 and disabling traps so lower ELs can access the n
feat(tcr2): support FEAT_TCR2
Arm v8.9 introduces FEAT_TCR2, adding extended translation control registers. Support this, context switching TCR2_EL2 and disabling traps so lower ELs can access the new registers.
Change the FVP platform to default to handling this as a dynamic option so the right decision can be made by the code at runtime.
Signed-off-by: Mark Brown <broonie@kernel.org> Change-Id: I297452acd8646d58bac64fc15e05b06a543e5148
show more ...
|
| a4c69581 | 15-Mar-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(build): distinguish BL2 as TF-A entry point and BL2 running at EL3" into integration |
| 42d4d3ba | 22-Nov-2022 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
refactor(build): distinguish BL2 as TF-A entry point and BL2 running at EL3
BL2_AT_EL3 is an overloaded macro which has two uses: 1. When BL2 is entry point into TF-A(no BL1) 2. When BL2 is runnin
refactor(build): distinguish BL2 as TF-A entry point and BL2 running at EL3
BL2_AT_EL3 is an overloaded macro which has two uses: 1. When BL2 is entry point into TF-A(no BL1) 2. When BL2 is running at EL3 exception level These two scenarios are not exactly same even though first implicitly means second to be true. To distinguish between these two use cases we introduce new macros. BL2_AT_EL3 is renamed to RESET_TO_BL2 to better convey both 1. and 2. Additional macro BL2_RUNS_AT_EL3 is added to cover all scenarious where BL2 runs at EL3 (including four world systems).
BREAKING CHANGE: BL2_AT_EL3 renamed to RESET_TO_BL2 across the repository.
Change-Id: I477e1d0f843b44b799c216670e028fcb3509fb72 Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
show more ...
|
| 4c985e86 | 14-Mar-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "fix(cpus): workaround for Neoverse V1 errata 2743233" into integration |
| 521d4fe6 | 13-Mar-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "style: remove useless trailing semicolon and line continuations" into integration |
| f1c3eae9 | 02-Mar-2023 |
Sona Mathew <SonaRebecca.Mathew@arm.com> |
fix(cpus): workaround for Neoverse V1 errata 2743233
Neoverse V1 erratum 2743233 is a Cat B erratum that applies to all revisions <= r1p2 and is still open.
The workaround sets CPUACTLR5_EL1[56:55]
fix(cpus): workaround for Neoverse V1 errata 2743233
Neoverse V1 erratum 2743233 is a Cat B erratum that applies to all revisions <= r1p2 and is still open.
The workaround sets CPUACTLR5_EL1[56:55] to 2'b01.
SDEN documentation: https://developer.arm.com/documentation/SDEN1401781/latest
Change-Id: If51a6f4293fa8b5b35c44edd564ebb715ba309a1 Signed-off-by: Sona Mathew <SonaRebecca.Mathew@arm.com>
show more ...
|
| 9a90d720 | 13-Feb-2023 |
Elyes Haouas <ehaouas@noos.fr> |
style: remove useless trailing semicolon and line continuations
found using checkpatch.pl[1]
[1]: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/util/lint/checkpatch.pl
S
style: remove useless trailing semicolon and line continuations
found using checkpatch.pl[1]
[1]: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/util/lint/checkpatch.pl
Signed-off-by: Elyes Haouas <ehaouas@noos.fr> Change-Id: I7957c9694300fefb85d11f7819c43af95271f14c
show more ...
|
| 66bf3ba4 | 28-Feb-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Cortex-A78C erratum 2779484
Cortex-A78C erratum 2779484 is a Cat B erratum that applies to revisions r0p1 and r0p2 and is still open.
The workaround is to set the CPUACTLR
fix(cpus): workaround for Cortex-A78C erratum 2779484
Cortex-A78C erratum 2779484 is a Cat B erratum that applies to revisions r0p1 and r0p2 and is still open.
The workaround is to set the CPUACTLR3_EL1[47] bit to 1. Setting this bit might have a small impact on power and negligible impact on performance.
SDEN documentation: https://developer.arm.com/documentation/SDEN2004089/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I9a8c16a845c3ba6eb2f17a5119aa6ca09a0d27ed
show more ...
|
| a63332c5 | 28-Feb-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Cortex-A78 erratum 2742426
Cortex-A78 erratum 2742426 is a Cat B erratum that applies to all revisions <= r1p2 and is still open.
The workaround is to set the CPUACTLR5_EL
fix(cpus): workaround for Cortex-A78 erratum 2742426
Cortex-A78 erratum 2742426 is a Cat B erratum that applies to all revisions <= r1p2 and is still open.
The workaround is to set the CPUACTLR5_EL1[56:55] to 2'b01.
SDEN documentation: https://developer.arm.com/documentation/SDEN1401784/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I42506a87d41c9e2b30bc78c08d22f36e1f9635c1
show more ...
|
| 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 ...
|
| fc8d2d39 | 17-Nov-2022 |
Andre Przywara <andre.przywara@arm.com> |
refactor(trf): enable FEAT_TRF for FEAT_STATE_CHECKED
At the moment we only support FEAT_TRF to be either unconditionally compiled in, or to be not supported at all.
Add support for runtime detecti
refactor(trf): enable FEAT_TRF for FEAT_STATE_CHECKED
At the moment we only support FEAT_TRF to be either unconditionally compiled in, or to be not supported at all.
Add support for runtime detection (ENABLE_TRF_FOR_NS=2), by splitting is_feat_trf_present() into an ID register reading function and a second function to report the support status. That function considers both build time settings and runtime information (if needed), and is used before we access TRF related registers. Also move the context saving code from assembly to C, and use the new is_feat_trf_supported() function to guard its execution.
The FVP platform decided to compile in support unconditionally (=1), even though FEAT_TRF is an ARMv8.4 feature, so is not available with the FVP model's default command line. Change that to the now supported dynamic option (=2), so the right decision can be made by the code at runtime.
Change-Id: Ia97b01adbe24970a4d837afd463dc5506b7295a3 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| da04341e | 14-Feb-2023 |
Chris Kay <chris.kay@arm.com> |
build: always prefix section names with `.`
Some of our specialized sections are not prefixed with the conventional period. The compiler uses input section names to derive certain other section name
build: always prefix section names with `.`
Some of our specialized sections are not prefixed with the conventional period. The compiler uses input section names to derive certain other section names (e.g. `.rela.text`, `.relacpu_ops`), and these can be difficult to select in linker scripts when there is a lack of a delimiter.
This change introduces the period prefix to all specialized section names.
BREAKING-CHANGE: All input and output linker section names have been prefixed with the period character, e.g. `cpu_ops` -> `.cpu_ops`.
Change-Id: I51c13c5266d5975fbd944ef4961328e72f82fc1c Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| af4fee04 | 10-Feb-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge changes from topic "mb/tos-fw-config-load-refactor" into integration
* changes: feat(spmd): map SPMC manifest region as EL3_PAS feat(fvp): update device tree with load addresses of TOS_FW
Merge changes from topic "mb/tos-fw-config-load-refactor" into integration
* changes: feat(spmd): map SPMC manifest region as EL3_PAS feat(fvp): update device tree with load addresses of TOS_FW config refactor(fvp): rename the DTB info structure member feat(fconf): rename 'ns-load-address' to 'secondary-load-address'
show more ...
|
| c2ce57f5 | 08-Feb-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "feat(psa): interface with RSS for NV counters" into integration |
| 8374508b | 11-Aug-2022 |
laurenw-arm <lauren.wehrmeister@arm.com> |
feat(psa): interface with RSS for NV counters
Adding AP/RSS interface for retrieving and incrementing non-volatile counters.
The read interface implements the psa_call: psa_call(RSS_PLATFORM_SERVIC
feat(psa): interface with RSS for NV counters
Adding AP/RSS interface for retrieving and incrementing non-volatile counters.
The read interface implements the psa_call: psa_call(RSS_PLATFORM_SERVICE_HANDLE, RSS_PLATFORM_API_ID_NV_READ, in_vec, 1, out_vec, 1);
where the in_vec indicates which of the 3 counters we want, and the out_vec stores the counter value we get back from RSS.
The increment interface implements the psa_call: psa_call(RSS_PLATFORM_SERVICE_HANDLE, RSS_PLATFORM_API_ID_NV_INCREMENT, in_vec, 1, (psa_outvec *)NULL, 0);
where, again, in_vec indicates the counter to increment, and we don't get any output parameter from RSS.
Through this service, we will be able to get/increment any of the 3 NV counters used on a CCA platform: - NV counter for CCA firmware (BL2, BL31, RMM). - NV counter for secure firmware. - NV counter for non-secure firmware.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Signed-off-by: Raef Coles <raef.coles@arm.com> Change-Id: I4c1c7f4837ebff30de16bb0ce7ecd416b70b1f62
show more ...
|
| 05e55030 | 07-Feb-2023 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(fconf): rename 'ns-load-address' to 'secondary-load-address'
The 'ns-load-address' property has been renamed to 'secondary-load- address' in order to make it more generic. It can be used to cop
feat(fconf): rename 'ns-load-address' to 'secondary-load-address'
The 'ns-load-address' property has been renamed to 'secondary-load- address' in order to make it more generic. It can be used to copy the configuration to any location, be it root, secure, or non-secure.
Change-Id: I122508e155ccd99082296be3f6b8db2f908be221 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 8b47f87a | 02-Feb-2023 |
Joanna Farley <joanna.farley@arm.com> |
Merge "feat(optee): add loading OP-TEE image via an SMC" into integration |
| 05c69cf7 | 03-Oct-2022 |
Jeffrey Kardatzke <jkardatzke@google.com> |
feat(optee): add loading OP-TEE image via an SMC
This adds the ability to load the OP-TEE image via an SMC called from non-secure userspace rather than loading it during boot. This should only be ut
feat(optee): add loading OP-TEE image via an SMC
This adds the ability to load the OP-TEE image via an SMC called from non-secure userspace rather than loading it during boot. This should only be utilized on platforms that can ensure security is maintained up until the point the SMC is invoked as it breaks the normal barrier between the secure and non-secure world.
Signed-off-by: Jeffrey Kardatzke <jkardatzke@google.com> Change-Id: I21cfa9699617c493fa4190f01d1cbb714e7449cc
show more ...
|
| 982f8e19 | 20-Jan-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes from topic "srm/errata" into integration
* changes: fix(cpus): workaround for Neoverse V1 errata 2779461 fix(cpus): workaround for Cortex-A78 erratum 2779479 |
| 2757da06 | 11-Jan-2023 |
Sona Mathew <SonaRebecca.Mathew@arm.com> |
fix(cpus): workaround for Neoverse V1 errata 2779461
Neoverse V1 erratum 2779461 is a Cat B erratum that applies to all revisions <=r1p2 and is still open.
The workaround sets CPUACTLR3_EL1[47] bit
fix(cpus): workaround for Neoverse V1 errata 2779461
Neoverse V1 erratum 2779461 is a Cat B erratum that applies to all revisions <=r1p2 and is still open.
The workaround sets CPUACTLR3_EL1[47] bit to 1. Setting this bit might have a small impact on power and negligible impact on performance.
SDEN documentation:https://developer.arm.com/documentation/SDEN1401781/latest
Change-Id: I367cda1779684638063d7292fda20ca6734e6f10 Signed-off-by: Sona Mathew <SonaRebecca.Mathew@arm.com>
show more ...
|
| 7d1700c4 | 11-Jan-2023 |
Sona Mathew <SonaRebecca.Mathew@arm.com> |
fix(cpus): workaround for Cortex-A78 erratum 2779479
Cortex-A78 erratum 2779479 is a Cat B erratum that applies to all revisions <= r1p2 and is still open.
The workaround is to set the CPUACTLR3_EL
fix(cpus): workaround for Cortex-A78 erratum 2779479
Cortex-A78 erratum 2779479 is a Cat B erratum that applies to all revisions <= r1p2 and is still open.
The workaround is to set the CPUACTLR3_EL1[47] bit to 1. Setting this bit might have a small impact on power and negligible impact on performance.
SDEN documentation: https://developer.arm.com/documentation/SDEN1401784/latest
Change-Id: I3779fd1eff3017c5961ffa101b357918070b3b36 Signed-off-by: Sona Mathew <SonaRebecca.Mathew@arm.com>
show more ...
|
| 344e5e81 | 19-Jan-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "feat_state_rework" into integration
* changes: feat(fvp): enable FEAT_HCX by default refactor(context-mgmt): move FEAT_HCX save/restore into C refactor(cpufeat): conv
Merge changes from topic "feat_state_rework" into integration
* changes: feat(fvp): enable FEAT_HCX by default refactor(context-mgmt): move FEAT_HCX save/restore into C refactor(cpufeat): convert FEAT_HCX to new scheme feat(fvp): enable FEAT_FGT by default refactor(context-mgmt): move FEAT_FGT save/restore code into C refactor(amu): convert FEAT_AMUv1 to new scheme refactor(cpufeat): decouple FGT feature detection and build flags refactor(cpufeat): check FEAT_FGT in a new way refactor(cpufeat): move helpers into .c file, rename FEAT_STATE_ feat(aarch64): make ID system register reads non-volatile
show more ...
|