| 926224e2 | 10-May-2022 |
Joanna Farley <joanna.farley@arm.com> |
Merge "fix(amu): limit virtual offset register access to NS world" into integration |
| 18c33208 | 10-May-2022 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "fix(cm): add barrier before el3 ns exit" into integration |
| 701e94b0 | 28-Feb-2022 |
kadabi <kadabi@google.com> |
feat(snprintf): add support for length specifiers
Add long, long long and size_t length specifiers to snprintf similar to vprintf. This will help capturing all the UART logs into a logbuffer and mak
feat(snprintf): add support for length specifiers
Add long, long long and size_t length specifiers to snprintf similar to vprintf. This will help capturing all the UART logs into a logbuffer and makes snprintf functionally equivalent to vprintf.
Change-Id: Ib9bd20e2b040c9b8755cf7ed7c9b4da555604810 Signed-off-by: Channagoud kadabi <kadabi@google.com>
show more ...
|
| 3b577ed5 | 03-May-2022 |
John Powell <john.powell@arm.com> |
fix(errata): workaround for Cortex-A78 erratum 2395406
Cortex-A78 erratum 2395406 is a cat B erratum that applies to revisions r0p0 - r1p2 and is still open. The workaround is to set bit[40] of CPUA
fix(errata): workaround for Cortex-A78 erratum 2395406
Cortex-A78 erratum 2395406 is a cat B erratum that applies to revisions r0p0 - r1p2 and is still open. The workaround is to set bit[40] of CPUACTLR2 which will disable folding of demand requests into older prefetches with L2 miss requests outstanding.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1401784
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: If06f988f05f925c2a4bed3e6a9414b6acdfec894
show more ...
|
| af220ebb | 09-Mar-2022 |
johpow01 <john.powell@arm.com> |
fix(errata): workaround for Cortex-A710 erratum 2008768
Cortex-A710 erratum 2008768 is a Cat B erratum that applies to revisions r0p0, r1p0, and r2p0, and is fixed in r2p1. The workaround is to clea
fix(errata): workaround for Cortex-A710 erratum 2008768
Cortex-A710 erratum 2008768 is a Cat B erratum that applies to revisions r0p0, r1p0, and r2p0, and is fixed in r2p1. The workaround is to clear the ED bit in each ERXCTLR_EL1 register before setting the PWRDN bit in CPUPWRCTLR_EL1.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775101
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: Ib2171c06da762dd4155b02c03d86766f1616381d
show more ...
|
| 5d796b3a | 03-May-2022 |
John Powell <john.powell@arm.com> |
fix(errata): workaround for Cortex-A78 erratum 2376745
Cortex-A78 erratum 2376745 is a cat B erratum that applies to revisions r0p0 - r1p2 and is still open. The workaround is to set bit[0] of CPUAC
fix(errata): workaround for Cortex-A78 erratum 2376745
Cortex-A78 erratum 2376745 is a cat B erratum that applies to revisions r0p0 - r1p2 and is still open. The workaround is to set bit[0] of CPUACTLR2 which will force PLDW/PFRM ST to behave like PLD/PRFM LD and not cause invalidation to other PE caches.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1401784
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I6f1a3a7d613c5ed182a7028f912e0f6ae3aa7f98
show more ...
|
| 04825031 | 09-May-2022 |
Olivier Deprez <olivier.deprez@arm.com> |
fix(cm): add barrier before el3 ns exit
In cm_prepare_el3_exit_ns, SCR_EL3.NS bit change (to non-secure) is not committed before the EL2 restoration sequence happens. At ICC_SRE_EL2 write in cm_el2_
fix(cm): add barrier before el3 ns exit
In cm_prepare_el3_exit_ns, SCR_EL3.NS bit change (to non-secure) is not committed before the EL2 restoration sequence happens. At ICC_SRE_EL2 write in cm_el2_sysregs_context_restore, NS is still 0 from CPU perspective (with EEL2=0) which is an invalid condition and triggers a fault. By adding ISB, SCR_EL3 gets synced with NS=1/EEL2=0 before ICC_SRE_EL2 write.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: Ie72a6152aa7729e66b3344c1b7b0749f54cafb6f
show more ...
|
| 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 ...
|
| 2e5d7a4b | 20-Apr-2022 |
John Powell <john.powell@arm.com> |
fix(security): report CVE 2022 23960 missing for aarch32 A57 and A72
Since there is no product deployed running EL3 in AArch32 mode for Cortex-A57 and Cortex-A72, report the workaround for CVE 2022
fix(security): report CVE 2022 23960 missing for aarch32 A57 and A72
Since there is no product deployed running EL3 in AArch32 mode for Cortex-A57 and Cortex-A72, report the workaround for CVE 2022 23960 as missing on these cores.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I14d202c1179707257086ad0c4795c397e566b3e6
show more ...
|
| 1ced6cad | 03-May-2022 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes from topic "refactor-hw-config-load" into integration
* changes: docs(fvp): update loading addresses of HW_CONFIG docs(fconf): update device tree binding for FCONF feat(fvp): upd
Merge changes from topic "refactor-hw-config-load" into integration
* changes: docs(fvp): update loading addresses of HW_CONFIG docs(fconf): update device tree binding for FCONF feat(fvp): update HW_CONFIG DT loading mechanism refactor(st): update set_config_info function call refactor(fvp_r): update set_config_info function call refactor(arm): update set_config_info function call feat(fconf): add NS load address in configuration DTB nodes
show more ...
|
| 187a6176 | 15-Apr-2022 |
John Powell <john.powell@arm.com> |
fix(security): update Cortex-A15 CPU lib files for CVE-2022-23960
Cortex-A15 does not support FEAT_CSV2 so the existing workaround for Spectre V2 is sufficient to mitigate against Spectre BHB attack
fix(security): update Cortex-A15 CPU lib files for CVE-2022-23960
Cortex-A15 does not support FEAT_CSV2 so the existing workaround for Spectre V2 is sufficient to mitigate against Spectre BHB attacks, however the code needed to be updated to work with the new build flag.
Also, some code was refactored several years ago and not updated in the Cortex-A15 library file so this patch fixes that as well.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I768c88a38c561c91019b038ac6c22b291955f18e
show more ...
|
| a4c39456 | 29-Mar-2022 |
John Powell <john.powell@arm.com> |
fix(amu): limit virtual offset register access to NS world
Previously the SCR_EL3.AMVOFFEN bit was set for all contexts, this behavior is incorrect as it allows secure world to access the virtual of
fix(amu): limit virtual offset register access to NS world
Previously the SCR_EL3.AMVOFFEN bit was set for all contexts, this behavior is incorrect as it allows secure world to access the virtual offset registers when it should not be able to. This patch only sets AMVOFFEN for non-secure world.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I2c61fe0a8a0092df089f1cb2c0d8a45c8c8ad0d3
show more ...
|
| 9284d212 | 27-Apr-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(twed): improve TWED enablement in EL-3" into integration |
| cb1247e4 | 25-Apr-2022 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "fix(bakery_lock): add __unused for clang" into integration |
| 65b13bac | 22-Apr-2022 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "ffa_el3_spmc" into integration
* changes: feat(spmc): add support for direct req/resp feat(spmc): add support for handling FFA_ERROR ABI feat(spmc): add support for F
Merge changes from topic "ffa_el3_spmc" into integration
* changes: feat(spmc): add support for direct req/resp feat(spmc): add support for handling FFA_ERROR ABI feat(spmc): add support for FFA_MSG_WAIT feat(spmc): add function to determine the return path from the SPMC feat(spmd): enable handling of FF-A SMCs with the SPMC at EL3 feat(spmd): update SPMC init flow to use EL3 implementation feat(spmc): add FF-A secure partition manager core feat(spmc): prevent read only xlat tables with the EL3 SPMC feat(spmc): enable building of the SPMC at EL3 refactor(spm_mm): reorganize secure partition manager code
show more ...
|
| e96ffdc8 | 19-Apr-2022 |
Joanna Farley <joanna.farley@arm.com> |
Merge "fix(errata): workaround for Cortex-X2 erratum 2147715" into integration |
| 781d07a4 | 28-Mar-2022 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(twed): improve TWED enablement in EL-3
The current implementation uses plat_arm API under generic code. "plat_arm" API is a convention used with Arm common platform layer and is reserved fo
refactor(twed): improve TWED enablement in EL-3
The current implementation uses plat_arm API under generic code. "plat_arm" API is a convention used with Arm common platform layer and is reserved for that purpose. In addition, the function has a weak definition which is not encouraged in TF-A.
Henceforth, removing the weak API with a configurable macro "TWED_DELAY" of numeric data type in generic code and simplifying the implementation. By default "TWED_DELAY" is defined to zero, and the delay value need to be explicitly set by the platforms during buildtime.
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Change-Id: I25cd6f628e863dc40415ced3a82d0662fdf2d75a
show more ...
|
| 70d986dd | 06-Mar-2021 |
Sayanta Pattanayak <sayanta.pattanayak@arm.com> |
feat(spmc): prevent read only xlat tables with the EL3 SPMC
If using the EL3 SPMC ensure that we don't mark the translation tables as read only. The SPMC requires the ability to map and unmap a part
feat(spmc): prevent read only xlat tables with the EL3 SPMC
If using the EL3 SPMC ensure that we don't mark the translation tables as read only. The SPMC requires the ability to map and unmap a partitions RX/TX buffers at runtime.
Signed-off-by: Sayanta Pattanayak <sayanta.pattanayak@arm.com> Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: Ibb78a6a2e3847ce4ec74ce81a9bb61ce34fec24c
show more ...
|
| 8b95e848 | 31-Jan-2022 |
Zelalem Aweke <zelalem.aweke@arm.com> |
refactor(context mgmt): add cm_prepare_el3_exit_ns function
As part of the RFC: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/13651, this patch adds the 'cm_prepare_el3_exit_ns' fun
refactor(context mgmt): add cm_prepare_el3_exit_ns function
As part of the RFC: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/13651, this patch adds the 'cm_prepare_el3_exit_ns' function. The function is a wrapper to 'cm_prepare_el3_exit' function for Non-secure state.
When EL2 sysregs context exists (CTX_INCLUDE_EL2_REGS is enabled) EL1 and EL2 sysreg values are restored from the context instead of directly updating the registers.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I9b071030576bb05500d54090e2a03b3f125d1653
show more ...
|
| fd5da7a8 | 02-Feb-2022 |
Zelalem Aweke <zelalem.aweke@arm.com> |
refactor(mpam): remove initialization of EL2 registers when EL2 is used
The patch removes initialization of MPAM EL2 registers when an EL2 software exists. The patch assumes the EL2 software will pe
refactor(mpam): remove initialization of EL2 registers when EL2 is used
The patch removes initialization of MPAM EL2 registers when an EL2 software exists. The patch assumes the EL2 software will perform the necessary initializations of the registers.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I5bed81bc22f417bc3e3cbbcd860a8553cd4307cd
show more ...
|
| 2bbad1d1 | 05-Jan-2022 |
Zelalem Aweke <zelalem.aweke@arm.com> |
refactor(context mgmt): refactor the cm_setup_context function
This patch splits the function 'cm_setup_context' into four functions to make it more readable and easier to maintain.
The function is
refactor(context mgmt): refactor the cm_setup_context function
This patch splits the function 'cm_setup_context' into four functions to make it more readable and easier to maintain.
The function is split into the following functions based on the security state of the context.
- setup_context_common - performs common initializations - setup_secure_context - performs Secure state specific initializations - setup_realm_context - performs Realm state specific initializations - setup_ns_context - performs Non-secure state specific initializations
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: Ie14a1c2fc6586087e7aa36537cf9064c80802f8f
show more ...
|
| 7f41bcc7 | 03-Nov-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
refactor(context mgmt): remove registers accessible only from secure state from EL2 context
The following registers are only accessible from secure state, therefore don't need to be saved/restored d
refactor(context mgmt): remove registers accessible only from secure state from EL2 context
The following registers are only accessible from secure state, therefore don't need to be saved/restored during world switch. - SDER32_EL2 - VSTCR_EL2 - VSTTBR_EL2
This patch removes these registers from EL2 context.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I24d08aacb1b6def261c7b37d3e1265bb76adafdc
show more ...
|
| 63446c27 | 08-Mar-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(errata): workaround for Cortex-X2 erratum 2147715
Cortex-X2 erratum 2147715 is a Cat B erratum that applies to revision r2p0 and is fixed in r2p1. The workaround is to set CPUACTLR_EL1[22]=1, wh
fix(errata): workaround for Cortex-X2 erratum 2147715
Cortex-X2 erratum 2147715 is a Cat B erratum that applies to revision r2p0 and is fixed in r2p1. The workaround is to set CPUACTLR_EL1[22]=1, which will cause the CFP instruction to invalidate all branch predictor resources regardless of context.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775100/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I2d81867486d9130f2c36cd4554ca9a8f37254b57
show more ...
|
| 5a030ce4 | 08-Apr-2022 |
Okash Khawaja <okash@google.com> |
fix(bakery_lock): add __unused for clang
is_lock_acquired() function is only used in assert() statements, so when compiling without asserts, e.g. with DEBUG=0, the function is unused. this is okay w
fix(bakery_lock): add __unused for clang
is_lock_acquired() function is only used in assert() statements, so when compiling without asserts, e.g. with DEBUG=0, the function is unused. this is okay when compiling with gcc because the function is marked as inline but that doesn't work for clang. let's mark this as __unused to avoid -Wunused-function warning-as-error.
Change-Id: I93f808fd15f715a65d1bd4f7592affb7997c4bad Signed-off-by: Okash Khawaja <okash@google.com>
show more ...
|
| 0ce220af | 26-Jan-2022 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(el3-runtime): replace ARM_ARCH_AT_LEAST macro with FEAT flags
Replacing ARM_ARCH_AT_LEAST macro with feature specific build options to prevent unconditional accesses to the registers during
refactor(el3-runtime): replace ARM_ARCH_AT_LEAST macro with FEAT flags
Replacing ARM_ARCH_AT_LEAST macro with feature specific build options to prevent unconditional accesses to the registers during context save and restore routines.
Registers are tightly coupled with features more than architecture versions. Henceforth having a feature-specific build flag guarding the respective registers, will restrict any undefined actions.
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Change-Id: I809774df580530803c8a6e05a62d8d4de0910e02
show more ...
|