| b01a93d7 | 09-Dec-2023 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for Cortex-X2 erratum 2778471
Cortex-X2 erratum 2778471 is a Cat B erratum that applies to revisions r0p1, r1p0, r2p0 and r2p1 and is still open. The workaround is to set CPUAC
fix(cpus): workaround for Cortex-X2 erratum 2778471
Cortex-X2 erratum 2778471 is a Cat B erratum that applies to revisions r0p1, r1p0, r2p0 and r2p1 and is still open. The workaround is to set CPUACTLR3_EL1[47] to 1.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1775100/latest
Change-Id: Ia95f0e276482283bf50e06c58c2bc5faab3f62c6 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| c9508d6a | 09-Dec-2023 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for Cortex-A710 erratum 2778471
Cortex-A710 erratum 2778471 is a Cat B erratum that applies to revisions r0p1, r1p0, r2p0 and r2p1 and is still open. The workaround is to set C
fix(cpus): workaround for Cortex-A710 erratum 2778471
Cortex-A710 erratum 2778471 is a Cat B erratum that applies to revisions r0p1, r1p0, r2p0 and r2p1 and is still open. The workaround is to set CPUACTLR3_EL1[47] to 1.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1775101/latest
Change-Id: Id3bb4a2673e41ff237682e46784d37752daf2f83 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| e830e4cd | 05-Sep-2023 |
Kathleen Capella <kathleen.capella@arm.com> |
feat(ff-a): update FF-A version to v1.2
Bump the required FF-A version in framework and manifests to v1.2 as upstream feature development goes.
Signed-off-by: Kathleen Capella <kathleen.capella@arm
feat(ff-a): update FF-A version to v1.2
Bump the required FF-A version in framework and manifests to v1.2 as upstream feature development goes.
Signed-off-by: Kathleen Capella <kathleen.capella@arm.com> Change-Id: I09d936d4aad89965cfd13f58741d647223b63a34
show more ...
|
| 3385faaf | 30-Nov-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "ns/spmc_at_el3" into integration
* changes: feat(rdn2): add dts for secure partition feat(el3-spmc): synchronize access to the s-el0 sp context feat(el3-spmc): add su
Merge changes from topic "ns/spmc_at_el3" into integration
* changes: feat(rdn2): add dts for secure partition feat(el3-spmc): synchronize access to the s-el0 sp context feat(el3-spmc): add support to map S-EL0 SP device regions feat(el3-spmc): add support to map S-EL0 SP memory regions feat(el3-spmc): add support for FFA_MEM_PERM_GET and SET ABIs feat(el3-spmc): add support to setup S-EL0 context
show more ...
|
| 2e1e1664 | 29-Nov-2023 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "fix(cpus): workaround for Neoverse V2 erratum 2618597" into integration |
| c0f8ce53 | 18-Oct-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Neoverse V2 erratum 2618597
Neoverse V2 erratum 2618597 is a Cat B erratum that applies to all revisions <= r0p1 and is fixed in r0p2. The workaround is to disable the use
fix(cpus): workaround for Neoverse V2 erratum 2618597
Neoverse V2 erratum 2618597 is a Cat B erratum that applies to all revisions <= r0p1 and is fixed in r0p2. The workaround is to disable the use of the Full Retention power mode in the core (setting WFI_RET_CTRL and WFE_RET_CTRL in IMP_CPUPWRCTLR_EL1 to 0b000).
SDEN can be found here: https://developer.arm.com/documentation/SDEN-2332927/latest
Change-Id: I23a81275d1e40cae39e6897093d6cdd3e11c08ea Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
show more ...
|
| 9d4819a0 | 29-Nov-2023 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "fix(cpus): workaround for Neoverse V2 erratum 2662553" into integration |
| 1f6b2b26 | 25-Mar-2022 |
Nishant Sharma <nishant.sharma@arm.com> |
feat(el3-spmc): add support for FFA_MEM_PERM_GET and SET ABIs
Secure partition running at SEL0 does not have privilege to modify translation tables. So it needs SPMC to map the regions for it. Add t
feat(el3-spmc): add support for FFA_MEM_PERM_GET and SET ABIs
Secure partition running at SEL0 does not have privilege to modify translation tables. So it needs SPMC to map the regions for it. Add the support to request memory map or region info using FF-A interface.
Signed-off-by: Nishant Sharma <nishant.sharma@arm.com> Signed-off-by: Achin Gupta <achin.gupta@arm.com> Change-Id: I04a97899808bbd45eda24edf7bc74eaef96fb2ce
show more ...
|
| 912c4090 | 17-Oct-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Neoverse V2 erratum 2662553
Neoverse V2 erratum 2662553 is a Cat B erratum that applies to all revisions <= r0p1 and is fixed in r0p2. The workaround is to set L2 TQ size s
fix(cpus): workaround for Neoverse V2 erratum 2662553
Neoverse V2 erratum 2662553 is a Cat B erratum that applies to all revisions <= r0p1 and is fixed in r0p2. The workaround is to set L2 TQ size statically to it's full size.
SDEN documentation: https://developer.arm.com/documentation/SDEN-2332927/latest
Change-Id: I3bc43e7299c17db8a6771a547515ffb2a172fa0f Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
show more ...
|
| 81d4094d | 14-Nov-2023 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for Cortex-A78C erratum 2743232
Cortex-A78C erratum 2743232 is a Cat B erratum that applies to revisions r0p1 and r0p2 and is still open. The workaround is to set CPUACTLR5_EL1
fix(cpus): workaround for Cortex-A78C erratum 2743232
Cortex-A78C erratum 2743232 is a Cat B erratum that applies to revisions r0p1 and r0p2 and is still open. The workaround is to set CPUACTLR5_EL1[56:55] to 2'b01.
SDEN Documentation: https://developer.arm.com/documentation/SDEN-2004089/latest
Change-Id: Ic62579c2dd69b7a8cbbeaa936f45b2cc9436439a Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 71ed9173 | 07-Nov-2023 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for Neoverse V1 erratum 2348377
Neoverse V1 erratum 2348377 is a Cat B erratum that applies to all revisions <= r1p1 and is fixed in r1p2. The workaround is to set CPUACTLR5_EL
fix(cpus): workaround for Neoverse V1 erratum 2348377
Neoverse V1 erratum 2348377 is a Cat B erratum that applies to all revisions <= r1p1 and is fixed in r1p2. The workaround is to set CPUACTLR5_EL1[61] to 1.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1401781/latest
Change-Id: Ica402494f78811c85e56a262e1f60b09915168fe Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 355ce0a4 | 06-Nov-2023 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for Cortex-X3 erratum 2779509
Cortex-X3 erratum 2779509 is a Cat B erratum that applies to all revisions <= r1p1 and is fixed in r1p2. The workaround is to set chicken bit CPUA
fix(cpus): workaround for Cortex-X3 erratum 2779509
Cortex-X3 erratum 2779509 is a Cat B erratum that applies to all revisions <= r1p1 and is fixed in r1p2. The workaround is to set chicken bit CPUACTLR3_EL1[47], this might have a small impact on power and has negligible impact on performance.
SDEN documentation: https://developer.arm.com/documentation/2055130/latest
Change-Id: Id92dbae6f1f313b133ffaa018fbf9c078da55d75 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 0c5aafc6 | 07-Nov-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
chore(npcm845x): remove CryptoCell-712/713 support
CryptoCell-712 and CryptoCell-713 drivers have been deprecated. Remove their usage on Nuvoton npcm845x platform (maintainers confirmed that this re
chore(npcm845x): remove CryptoCell-712/713 support
CryptoCell-712 and CryptoCell-713 drivers have been deprecated. Remove their usage on Nuvoton npcm845x platform (maintainers confirmed that this removal is fine with them).
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Change-Id: I0e3f3431558aaea1e0f2740e7088cdc155d06af2
show more ...
|
| b65dfe40 | 26-Oct-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
chore(auth)!: remove CryptoCell-712/713 support
CryptoCell-712 and CryptoCell-713 drivers have been deprecated since TF-A v2.9 and their removal was announced for TF-A v2.10 release. See [1].
As th
chore(auth)!: remove CryptoCell-712/713 support
CryptoCell-712 and CryptoCell-713 drivers have been deprecated since TF-A v2.9 and their removal was announced for TF-A v2.10 release. See [1].
As the release is approaching, this patch deletes these drivers' code as well as all references to them in the documentation and Arm platforms code (Nuvoton platform is taken care in a subsequent patch). Associated build options (ARM_CRYPTOCELL_INTEG and PLAT_CRYPTOCELL_BASE) have also been removed and thus will have no effect if defined.
This is a breaking change for downstream platforms which use these drivers.
[1] https://trustedfirmware-a.readthedocs.io/en/v2.9/about/release-information.html#removal-of-deprecated-drivers Note that TF-A v3.0 release later got renumbered into v2.10.
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Change-Id: Idabbc9115f6732ac1a0e52b273d3380677a39813
show more ...
|
| 2f306f89 | 07-Nov-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "chore(libfdt): update header files to v1.7.0 tag" into integration |
| e0c7d8f5 | 07-Nov-2023 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "fix(smccc): ensure that mpidr passed through SMC is valid" into integration |
| d3a9990c | 06-Nov-2023 |
Manish Pandey <manish.pandey2@arm.com> |
chore(libfdt): update header files to v1.7.0 tag
As part of TF-A 2.9.0 release, libfdt version was updated to its last tagged version (1.7.0) with commit 058e017e5. This commit has only updated the
chore(libfdt): update header files to v1.7.0 tag
As part of TF-A 2.9.0 release, libfdt version was updated to its last tagged version (1.7.0) with commit 058e017e5. This commit has only updated the source files of libfdt but did not update header files.
This patch updates the libfdt header files in include/lib/libfdt to the tagged version v1.7.0
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: I09a0f51435b343c3e1cac45075fe7d28cbcae867
show more ...
|
| e60c1847 | 27-Oct-2023 |
Manish Pandey <manish.pandey2@arm.com> |
fix(smccc): ensure that mpidr passed through SMC is valid
There are various SMC calls which pass mpidr as an argument which is currently tested at random places in SMC call path. To make the mpidr v
fix(smccc): ensure that mpidr passed through SMC is valid
There are various SMC calls which pass mpidr as an argument which is currently tested at random places in SMC call path. To make the mpidr validation check consistent across SMC calls, do this check as part of SMC argument validation.
This patch introduce a helper function is_valid_mpidr() to validate mpidr and call it as part of validating SMC arguments at starting of SMC handlers (which expect mpidr as an argument).
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: I11ea50e22caf17896cf4b2059b87029b2ba136b1
show more ...
|
| 11a8a3e9 | 06-Nov-2023 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes from topic "errata" into integration
* changes: fix(cpus): workaround for Cortex-X2 erratum 2742423 fix(cpus): workaround for Cortex-A710 erratum 2742423 fix(cpus): workaround fo
Merge changes from topic "errata" into integration
* changes: fix(cpus): workaround for Cortex-X2 erratum 2742423 fix(cpus): workaround for Cortex-A710 erratum 2742423 fix(cpus): workaround for Neoverse N2 erratum 2340933 fix(cpus): workaround for Neoverse N2 erratum 2346952
show more ...
|
| 6cb8be17 | 17-Oct-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Neoverse N2 erratum 2346952
Neoverse N2 erratum 2346952 is a Cat B erratum that applies to all revisions <= r0p2 and is fixed in r0p3. The workaround is to set L2 TQ size s
fix(cpus): workaround for Neoverse N2 erratum 2346952
Neoverse N2 erratum 2346952 is a Cat B erratum that applies to all revisions <= r0p2 and is fixed in r0p3. The workaround is to set L2 TQ size statically to it's full size.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1982442/latest
Change-Id: I03c3cf1f951fbc906fdebcb99a523c5ac8ba055d Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
show more ...
|
| 6d22b089 | 11-Oct-2023 |
Manish Pandey <manish.pandey2@arm.com> |
fix(el3-runtime): restrict lower el EA handlers in FFH mode
This patch does following changes to restrict handling of lower EL EA's only if FFH mode is enabled.
- Compile ea_delegate.S only if FFH
fix(el3-runtime): restrict lower el EA handlers in FFH mode
This patch does following changes to restrict handling of lower EL EA's only if FFH mode is enabled.
- Compile ea_delegate.S only if FFH mode is enabled. - For Sync exception from lower ELs if the EC is not SMC or SYS reg trap it was assumed that it is an EA, which is not correct. Move the known Sync exceptions (EL3 Impdef) out of sync EA handler. - Report unhandled exceptions if there are SError from lower EL in KFH mode, as this is unexpected. - Move code out of ea_delegate.S which are used for KFH mode.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: I577089677d0ec8cde7c20952172bee955573d2ed
show more ...
|
| f87e54f7 | 10-Oct-2023 |
Manish Pandey <manish.pandey2@arm.com> |
fix(ras): remove RAS_FFH_SUPPORT and introduce FFH_SUPPORT
This patch removes RAS_FFH_SUPPORT macro which is the combination of ENABLE_FEAT_RAS and HANDLE_EA_EL3_FIRST_NS. Instead introduce an inter
fix(ras): remove RAS_FFH_SUPPORT and introduce FFH_SUPPORT
This patch removes RAS_FFH_SUPPORT macro which is the combination of ENABLE_FEAT_RAS and HANDLE_EA_EL3_FIRST_NS. Instead introduce an internal macro FFH_SUPPORT which gets enabled when platforms wants to enable lower EL EA handling at EL3. The internal macro FFH_SUPPORT will be automatically enabled if HANDLE_EA_EL3_FIRST_NS is enabled. FFH_SUPPORT along with ENABLE_FEAT_RAS will be used in source files to provide equivalent check which was provided by RAS_FFH_SUPPORT earlier. In generic code we needed a macro which could abstract both HANDLE_EA_EL3_FIRST_NS and RAS_FFH_SUPPORT macros that had limitations. Former was tied up with NS world only while the latter was tied to RAS feature.
This is to allow Secure/Realm world to have their own FFH macros in future.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ie5692ccbf462f5dcc3f005a5beea5aa35124ac73
show more ...
|
| 970a4a8d | 10-Oct-2023 |
Manish Pandey <manish.pandey2@arm.com> |
fix(ras): restrict ENABLE_FEAT_RAS to have only two states
As part of migrating RAS extension to feature detection mechanism, the macro ENABLE_FEAT_RAS was allowed to have dynamic detection (FEAT_ST
fix(ras): restrict ENABLE_FEAT_RAS to have only two states
As part of migrating RAS extension to feature detection mechanism, the macro ENABLE_FEAT_RAS was allowed to have dynamic detection (FEAT_STATE 2). Considering this feature does impact execution of EL3 and we need to know at compile time about the presence of this feature. Do not use dynamic detection part of feature detection mechanism.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: I23858f641f81fbd81b6b17504eb4a2cc65c1a752
show more ...
|
| 6597fcf1 | 26-Jun-2023 |
Manish Pandey <manish.pandey2@arm.com> |
feat(ras): use FEAT_IESB for error synchronization
For synchronization of errors at exception boundries TF-A uses "esb" instruction with FEAT_RAS or "dsb" and "isb" otherwise. The problem with esb i
feat(ras): use FEAT_IESB for error synchronization
For synchronization of errors at exception boundries TF-A uses "esb" instruction with FEAT_RAS or "dsb" and "isb" otherwise. The problem with esb instruction is, along with synching errors it might also consume the error, which is not ideal in all scenarios. On the other hand we can't use dsb always as its in the hot path.
To solve above mentioned problem the best way is to use FEAT_IESB feature which provides controls to insert an implicit Error synchronization event at exception entry and exception return.
Assumption in TF-A is, if RAS Extension is present then FEAT_IESB will also be present and enabled.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ie5861eec5da4028a116406bb4d1fea7dac232456
show more ...
|
| d04c04a4 | 25-May-2023 |
Manish Pandey <manish.pandey2@arm.com> |
feat(el3-runtime): modify vector entry paths
Vector entries in EL3 from lower ELs, first check for any pending async EAs from lower EL before handling the original exception. This happens when there
feat(el3-runtime): modify vector entry paths
Vector entries in EL3 from lower ELs, first check for any pending async EAs from lower EL before handling the original exception. This happens when there is an error (EA) in the system which is not yet signaled to PE while executing at lower EL. During entry into EL3 the errors (EA) are synchronized causing async EA to pend at EL3.
On detecting the pending EA (via ISR_EL1.A) EL3 either reflects it back to lower EL (KFH) or handles it in EL3 (FFH) based on EA routing model.
In case of Firmware First handling mode (FFH), EL3 handles the pended EA first before returing back to handle the original exception.
While in case of Kernel First handling mode (KFH), EL3 will return back to lower EL without handling the original exception. On returing to lower EL, EA will be pended. In KFH mode there is a risk of back and forth between EL3 and lower EL if the EA is masked at lower EL or priority of EA is lower than that of original exception. This is a limitation in current architecture but can be solved in future if EL3 gets a capability to inject virtual SError.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: I3a2a31de7cf454d9d690b1ef769432a5b24f6c11
show more ...
|