| a2e01234 | 14-Nov-2022 |
Okash Khawaja <okash@google.com> |
fix(cpus): update doc and check for plat_can_cmo
plat_can_cmo must not clobber x1 but the doc doesn't mention that. This patch updates the doc to mention x1. It also adds check for plat_can_cmo to `
fix(cpus): update doc and check for plat_can_cmo
plat_can_cmo must not clobber x1 but the doc doesn't mention that. This patch updates the doc to mention x1. It also adds check for plat_can_cmo to `dcsw_op_louis` which was missed out in original patch.
Signed-off-by: Okash Khawaja <okash@google.com> Change-Id: I721376bf3726520d0d5b0df0f33f98ce92257287
show more ...
|
| 381f465c | 05-Oct-2022 |
Lionel Debieve <lionel.debieve@foss.st.com> |
fix(fconf): fix type error displaying disable_auth
disable_auth is defined as uint32_t and must be displayed as an unsigned int.
lib/fconf/fconf_tbbr_getter.c: In function ‘fconf_populate_tbbr_dyn_
fix(fconf): fix type error displaying disable_auth
disable_auth is defined as uint32_t and must be displayed as an unsigned int.
lib/fconf/fconf_tbbr_getter.c: In function ‘fconf_populate_tbbr_dyn_config’: include/common/debug.h:46:41: error: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘uint32_t’ {aka ‘unsigned int’} [-Werror=format=] 46 | #define LOG_MARKER_WARNING "\x1e" /* 30 */ | ^~~~~~ include/common/debug.h:77:32: note: in expansion of macro ‘LOG_MARKER_WARNING’ 77 | # define WARN(...) tf_log(LOG_MARKER_WARNING __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~ lib/fconf/fconf_tbbr_getter.c:47:17: note: in expansion of macro ‘WARN’ 47 | WARN("Invalid value for `%s` cell %d\n", | ^~~~ include/common/debug.h:48:41: error: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘uint32_t’ {aka ‘unsigned int’} [-Werror=format=] 48 | #define LOG_MARKER_VERBOSE "\x32" /* 50 */ | ^~~~~~ include/common/debug.h:58:32: note: in definition of macro ‘no_tf_log’ 58 | tf_log(fmt, ##__VA_ARGS__); \ | ^~~ include/common/debug.h:91:35: note: in expansion of macro ‘LOG_MARKER_VERBOSE’ 91 | # define VERBOSE(...) | no_tf_log(LOG_MARKER_VERBOSE __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~ lib/fconf/fconf_tbbr_getter.c:74:9: note: in expansion of macro ‘VERBOSE’ 74 | VERBOSE("%s%s%s %d\n","FCONF: `tbbr.", "disable_auth", | ^~~~~~~ cc1: all warnings being treated as errors
Change-Id: I0164ddfe511406cc1a8d014a368ef3e3c5f8cd27 Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com>
show more ...
|
| 20a43156 | 11-Nov-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "feat(cpus): make cache ops conditional" into integration |
| 2f546146 | 11-Nov-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(pmu): add sensible default for MDCR_EL2" into integration |
| 7f856198 | 26-Oct-2022 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(pmu): add sensible default for MDCR_EL2
When TF-A is set to save and restore EL2 registers it initially zeroes all of them so that it does not leak any information. However, MDCR_EL2.HPMN of 0 i
fix(pmu): add sensible default for MDCR_EL2
When TF-A is set to save and restore EL2 registers it initially zeroes all of them so that it does not leak any information. However, MDCR_EL2.HPMN of 0 is poorly defined when FEAT_HPMN0 is not implemented. Set it to its hardware reset value so that lower ELs don't inherit a wrong value.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I8055005ef9b6eaafefa13b62a0b41289079fdd23
show more ...
|
| 2b138c6b | 11-Nov-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "fix(cpus): workaround for Cortex-A77 erratum 2743100" into integration |
| f41e23ea | 10-Nov-2022 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "mp/ras_refactoring" into integration
* changes: docs: document do_panic() and panic() helper functions fix(ras): restrict RAS support for NS world |
| 4fdeaffe | 01-Nov-2022 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(cpus): workaround for Cortex-A77 erratum 2743100
Cortex-A77 erratum 2743100 is a Cat B erratum that applies to revisions r0p0, r1p0, r1p1, and is still open. The workaround is to insert a dsb be
fix(cpus): workaround for Cortex-A77 erratum 2743100
Cortex-A77 erratum 2743100 is a Cat B erratum that applies to revisions r0p0, r1p0, r1p1, and is still open. The workaround is to insert a dsb before the isb in the power down sequence.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1152370/latest
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I8e49a2dac8611f31ace249a17ae7a90cd60e742a
show more ...
|
| 04c7303b | 04-Nov-2022 |
Okash Khawaja <okash@google.com> |
feat(cpus): make cache ops conditional
When a core is in debug recovery mode its caches are not invalidated upon reset, so the L1 and L2 cache contents from before reset are observable after reset.
feat(cpus): make cache ops conditional
When a core is in debug recovery mode its caches are not invalidated upon reset, so the L1 and L2 cache contents from before reset are observable after reset. Similarly, debug recovery mode of DynamIQ cluster ensures that contents of the shared L3 cache are also not invalidated upon transition to On mode.
Booting cores in debug recovery mode means booting with caches disabled and preserving the caches until a point where software can dump the caches and retrieve their contents. TF-A however unconditionally cleans and invalidates caches at multiple points during boot. This can lead to memory corruption as well as loss of cache contents to be used for debugging.
This patch fixes this by calling a platform hook before performing CMOs in helper routines in cache_helpers.S. The platform hook plat_can_cmo is an assembly routine which must not clobber x2 and x3, and avoid using stack. The whole checking is conditional upon `CONDITIONAL_CMO` which can be set at compile time.
Signed-off-by: Okash Khawaja <okash@google.com> Change-Id: I172e999e4acd0f872c24056e647cc947ee54b193
show more ...
|
| 46cc41d5 | 10-Oct-2022 |
Manish Pandey <manish.pandey2@arm.com> |
fix(ras): restrict RAS support for NS world
Current RAS framework in TF-A only supports handling errors originating from NS world but the HANDLE_EA_EL3_FIRST flag configures it for all lower Els. To
fix(ras): restrict RAS support for NS world
Current RAS framework in TF-A only supports handling errors originating from NS world but the HANDLE_EA_EL3_FIRST flag configures it for all lower Els. To make the current design of RAS explicit, rename this macro to HANDLE_EA_EL3_FIRST_NS and set EA bit in scr_el3 only when switching to NS world.
Note: I am unaware of any platform which traps errors originating in Secure world to EL3, if there is any such platform then it need to be explicitly implemented in TF-A
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: If58eb201d8fa792c16325c85c26056e9b409b750
show more ...
|
| 49273098 | 02-Nov-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Cortex-A76 erratum 2743102
Cortex-A76 erratum 2743102 is a Cat B erratum that applies to all revisions <=r4p1 and is still open. The workaround is to insert a dsb before th
fix(cpus): workaround for Cortex-A76 erratum 2743102
Cortex-A76 erratum 2743102 is a Cat B erratum that applies to all revisions <=r4p1 and is still open. The workaround is to insert a dsb before the isb in the power down sequence.
SDEN documentation: https://developer.arm.com/documentation/SDEN885749/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: Ie2cd73bd91417d30b5633d80b2fbee32944bc2de
show more ...
|
| 8ce40503 | 02-Nov-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Neoverse N1 erratum 2743102
Neoverse N1 erratum 2743102 is a Cat B erratum that applies to all revisions <=r4p1 and is still open. The workaround is to insert a dsb before
fix(cpus): workaround for Neoverse N1 erratum 2743102
Neoverse N1 erratum 2743102 is a Cat B erratum that applies to all revisions <=r4p1 and is still open. The workaround is to insert a dsb before the isb in the power down sequence.
SDEN documentation: https://developer.arm.com/documentation/SDEN885747/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I81a8793c1a118764df3ac97b67f5e088f56f6a20
show more ...
|
| 9900d4eb | 28-Oct-2022 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "db/deps" into integration
* changes: feat(compiler-rt): update compiler-rt source files fix(deps): add missing aeabi_memcpy.S feat(zlib): update zlib source files d
Merge changes from topic "db/deps" into integration
* changes: feat(compiler-rt): update compiler-rt source files fix(deps): add missing aeabi_memcpy.S feat(zlib): update zlib source files docs(changelog): add zlib and compiler-rt scope feat(libfdt): upgrade libfdt source files docs(prerequisites): upgrade to Mbed TLS 2.28.1
show more ...
|
| 92b62c16 | 27-Oct-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes I7d3a97df,I5935b4bc,I9a325c5b,Ie29bd3a5,Iebb90cf2 into integration
* changes: fix(cpus): workaround for Cortex-A710 erratum 2291219 fix(cpus): workaround for Cortex-X3 erratum 2313
Merge changes I7d3a97df,I5935b4bc,I9a325c5b,Ie29bd3a5,Iebb90cf2 into integration
* changes: fix(cpus): workaround for Cortex-A710 erratum 2291219 fix(cpus): workaround for Cortex-X3 erratum 2313909 fix(cpus): workaround for Neoverse-N2 erratum 2326639 fix(rpi3): tighten platform pwr_domain_pwr_down_wfi behaviour chore: rename Makalu ELP to Cortex-X3
show more ...
|
| 888eafa0 | 03-Oct-2022 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(cpus): workaround for Cortex-A710 erratum 2291219
Cortex-A710 erratum 2291219 is a Cat B erratum that applies to revisions r0p0, r1p0, and r2p0, and is fixed in r2p1. The workaround is to set CP
fix(cpus): workaround for Cortex-A710 erratum 2291219
Cortex-A710 erratum 2291219 is a Cat B erratum that applies to revisions r0p0, r1p0, and r2p0, and is fixed in r2p1. The workaround is to set CPUACTLR2_EL1[36] to 1 before the power down sequence that sets CORE_PWRDN_EN. This allows the cpu to retry the power down and prevents the deadlock. TF-A never clears this bit even if it wakes up from the wfi in the sequence since it is not expected to do anything but retry to power down after and the bit is cleared on reset.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775101/latest
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I7d3a97dfac0c433c0be386c1f3d2f2e895a3f691
show more ...
|
| 79544126 | 03-Oct-2022 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(cpus): workaround for Cortex-X3 erratum 2313909
Cortex-X3 erratum 2313909 is a Cat B erratum that applies to revisions r0p0 and r1p0, and is fixed in r1p1. The workaround is to set CPUACTLR2_EL1
fix(cpus): workaround for Cortex-X3 erratum 2313909
Cortex-X3 erratum 2313909 is a Cat B erratum that applies to revisions r0p0 and r1p0, and is fixed in r1p1. The workaround is to set CPUACTLR2_EL1[36] to 1 before the power down sequence that sets CORE_PWRDN_EN. This allows the cpu to retry the power down and prevents the deadlock. TF-A never clears this bit even if it wakes up from the wfi in the sequence since it is not expected to do anything but retry to power down after and the bit is cleared on reset.
SDEN can be found here: https://developer.arm.com/documentation/SDEN2055130/latest
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I5935b4bcd1e6712477c0d6eab2acc96d7964a35d
show more ...
|
| 43438ad1 | 03-Oct-2022 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(cpus): workaround for Neoverse-N2 erratum 2326639
Neoverse-N2 erratum 2326639 is a Cat B erratum that applies to revision r0p0 and is fixed in r0p1. The workaround is to set CPUACTLR2_EL1[36] to
fix(cpus): workaround for Neoverse-N2 erratum 2326639
Neoverse-N2 erratum 2326639 is a Cat B erratum that applies to revision r0p0 and is fixed in r0p1. The workaround is to set CPUACTLR2_EL1[36] to 1 before the power down sequence that sets CORE_PWRDN_EN. This allows the cpu to retry the power down and prevents the deadlock. TF-A never clears this bit even if it wakes up from the wfi in the sequence since it is not expected to do anything but retry to power down after and the bit is cleared on reset.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1982442/latest/
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I9a325c5b9b498798e5efd5c79a4a6d5bed97c619
show more ...
|
| cf58b2d4 | 25-Oct-2022 |
Boyan Karatotev <boyan.karatotev@arm.com> |
chore: rename Makalu ELP to Cortex-X3
The Cortex-X3 cpu port was developed before its public release when it was known as Makalu ELP. Now that it's released we can use the official product name.
Si
chore: rename Makalu ELP to Cortex-X3
The Cortex-X3 cpu port was developed before its public release when it was known as Makalu ELP. Now that it's released we can use the official product name.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Iebb90cf2f77330ed848a3d61c5f6928942189c5a
show more ...
|
| 52a79b0e | 26-Oct-2022 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "fix(security): optimisations for CVE-2022-23960" into integration |
| e74d6581 | 13-Oct-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(security): optimisations for CVE-2022-23960
Optimised the loop workaround for Spectre_BHB mitigation: 1. use of speculation barrier for cores implementing SB instruction. 2. use str/ldr instead
fix(security): optimisations for CVE-2022-23960
Optimised the loop workaround for Spectre_BHB mitigation: 1. use of speculation barrier for cores implementing SB instruction. 2. use str/ldr instead of stp/ldp as the loop uses only X2 register.
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I8ac53ea1e42407ad8004c1d59c05f791011f195d
show more ...
|
| 8487cc85 | 26-Oct-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(sme): add missing ISBs" into integration |
| 8a6a9560 | 21-Oct-2022 |
Daniel Boulby <daniel.boulby@arm.com> |
feat(compiler-rt): update compiler-rt source files
Update the compiler-rt source files to the tip of the llvm-project [1]. To do this some new header files were pulled in from the freebsd-src repo [
feat(compiler-rt): update compiler-rt source files
Update the compiler-rt source files to the tip of the llvm-project [1]. To do this some new header files were pulled in from the freebsd-src repo [2].
[1] https://github.com/llvm/llvm-project/commit/fae258e [2] https://github.com/freebsd/freebsd-src/commit/243a0eda
Change-Id: I1a012b1fe04e127d35e208923877c98c5d999d00 Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
show more ...
|
| 93cec697 | 21-Oct-2022 |
Daniel Boulby <daniel.boulby@arm.com> |
fix(deps): add missing aeabi_memcpy.S
Add missing aeabi_memcpy.S file from llvm compiler-rt library [1]. This is required for Aarch32 builds with clang.
[1] https://github.com/llvm/llvm-project.git
fix(deps): add missing aeabi_memcpy.S
Add missing aeabi_memcpy.S file from llvm compiler-rt library [1]. This is required for Aarch32 builds with clang.
[1] https://github.com/llvm/llvm-project.git
Change-Id: I7fd6ab1e81dd45d24afef49a3eb8fcdcbc5c082f Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
show more ...
|
| a194255d | 05-Oct-2022 |
Daniel Boulby <daniel.boulby@arm.com> |
feat(zlib): update zlib source files
Upgrade the zlib source files to the ones present in the version 1.2.13 of zlib [1]. Since 1.2.11 the use of Arm crc32 instructions has been introduced so update
feat(zlib): update zlib source files
Upgrade the zlib source files to the ones present in the version 1.2.13 of zlib [1]. Since 1.2.11 the use of Arm crc32 instructions has been introduced so update the files to make use of this.
[1] https://github.com/madler/zlib/tree/v1.2.13
Change-Id: Ideef78c56f05ae7daec390d00dcaa8f66b18729e Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
show more ...
|
| 03ebf409 | 19-Oct-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): fix cpu version check for Neoverse N2, V1
The CPU version check was moved wrongly down in N2 and missing in V1. The patch fixes the issues.
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
fix(cpus): fix cpu version check for Neoverse N2, V1
The CPU version check was moved wrongly down in N2 and missing in V1. The patch fixes the issues.
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: Icb6e5285d6cc97fbe416fe1f0b1ab7afbd8a8809
show more ...
|