| #
23c5c69f |
| 18-Dec-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(cpus): fix incorrect AMU trap settings for N2 CPU" into integration
|
| #
54b86d47 |
| 10-Dec-2023 |
Thomas Abraham <thomas.abraham@arm.com> |
fix(cpus): fix incorrect AMU trap settings for N2 CPU
The TAM bits of CPTR_EL2 and CPTR_EL3 are incorrectly set in the reset handling sequence of the Neoverse N2 CPU. As these bits are set, any acce
fix(cpus): fix incorrect AMU trap settings for N2 CPU
The TAM bits of CPTR_EL2 and CPTR_EL3 are incorrectly set in the reset handling sequence of the Neoverse N2 CPU. As these bits are set, any access of AMU registers from EL0/EL1 and EL2 respectively are incorrectly trapped to a higher EL. Fix this by clearing the TAM bits in both the CPTR_EL2 and CPTR_EL3 registers.
Signed-off-by: Thomas Abraham <thomas.abraham@arm.com> Change-Id: I357b16dfc7d7367b8a0c8086faac28f3e2866cd8
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 ...
|
| #
68085ad4 |
| 17-Oct-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Neoverse N2 erratum 2340933
Neoverse N2 erratum 2340933 is a Cat B erratum that applies to revision r0p0 and is fixed in r0p1. The workaround is to set CPUACTLR5_EL1[61] to
fix(cpus): workaround for Neoverse N2 erratum 2340933
Neoverse N2 erratum 2340933 is a Cat B erratum that applies to revision r0p0 and is fixed in r0p1. The workaround is to set CPUACTLR5_EL1[61] to 1.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1982442/latest
Change-Id: I121add0dd35072c53392d33f049d893a5ff6354f Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
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 ...
|
| #
d2b66cc8 |
| 07-Sep-2023 |
Mark Dykes <mark.dykes@arm.com> |
Merge "fix(cpus): workaround for Neoverse N2 erratum 2009478" into integration
|
| #
74bfe31f |
| 29-Aug-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Neoverse N2 erratum 2009478
Neoverse N2 erratum 2009478 is a Cat B erratum that applies to revision r0p0 and is fixed in r0p1. The workaround is to clear the ED bit for all
fix(cpus): workaround for Neoverse N2 erratum 2009478
Neoverse N2 erratum 2009478 is a Cat B erratum that applies to revision r0p0 and is fixed in r0p1. The workaround is to clear the ED bit for all core error records before setting the PWRDN_EN bit in CPUPWRCTLR_EL1 to request a power down.
SDEN documentation: https://developer.arm.com/documentation/SDEN1982442/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: Ic5ef58c9e795b90026af1d2b09edc0eea3ceee51
show more ...
|
| #
db8621a2 |
| 04-Aug-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes from topic "ar/errata_refactor" into integration
* changes: fix(cpus): workaround for Neoverse N2 erratum 2779511 fix(errata-abi): added Neoverse N2 to Errata ABI list fix(cpus):
Merge changes from topic "ar/errata_refactor" into integration
* changes: fix(cpus): workaround for Neoverse N2 erratum 2779511 fix(errata-abi): added Neoverse N2 to Errata ABI list fix(cpus): workaround for Neoverse N2 erratum 2743014 fix(docs): updated certain Neoverse N2 erratum status in docs refactor(cpus): convert Neoverse N2 to use CPU helpers refactor(cpus): convert Neoverse N2 to framework refactor(cpus): reorder Neoverse N2 errata by ascending order
show more ...
|
| #
12d28067 |
| 17-Jul-2023 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(cpus): workaround for Neoverse N2 erratum 2779511
Neoverse N2 erratum 2779511 is a Cat B erratum that applies to all revisions <=r0p2 and is fixed in r0p3. The workaround is to set bit[47] of CP
fix(cpus): workaround for Neoverse N2 erratum 2779511
Neoverse N2 erratum 2779511 is a Cat B erratum that applies to all revisions <=r0p2 and is fixed in r0p3. The workaround is to set bit[47] of CPUACTLR3_EL1
SDEN documentation: https://developer.arm.com/documentation/SDEN1982442/latest
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: Iaa0e30de8473ecb1df1fcca3a45904aac2e419b3
show more ...
|
| #
eb44035c |
| 05-Jul-2023 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(cpus): workaround for Neoverse N2 erratum 2743014
Neoverse N2 erratum 2743014 is a Cat B erratum that applies to all revisions <=r0p2 and is fixed in r0p3. The workaround is to set CPUACTLR5_EL1
fix(cpus): workaround for Neoverse N2 erratum 2743014
Neoverse N2 erratum 2743014 is a Cat B erratum that applies to all revisions <=r0p2 and is fixed in r0p3. The workaround is to set CPUACTLR5_EL1[56:55] to 2'b01.
SDEN documentation: https://developer.arm.com/documentation/SDEN1982442/latest
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: Ie7e1be5dea9d1f74738f9fed0fb58bfd41763192
show more ...
|
| #
d6d34b39 |
| 29-Jun-2023 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(docs): updated certain Neoverse N2 erratum status in docs
Certain Neoverse N2 erratum in docs were out of date with the latest SDEN document and hence updated it to match the latest
SDEN docume
fix(docs): updated certain Neoverse N2 erratum status in docs
Certain Neoverse N2 erratum in docs were out of date with the latest SDEN document and hence updated it to match the latest
SDEN documentation: https://developer.arm.com/documentation/SDEN1707916/latest
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I5d82a56388a46a09a42b940a633ecebdde0c74e3
show more ...
|
| #
b41792ca |
| 27-Jun-2023 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
refactor(cpus): convert Neoverse N2 to use CPU helpers
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I063ff1d61bf1e0c4eef31fd55172bb0c321ed1e0
|
| #
ccb56162 |
| 26-Jun-2023 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
refactor(cpus): convert Neoverse N2 to framework
This involves replacing: * the reset_func with the standard cpu_reset_func_{start,end} to apply errata automatically * the <cpu>_errata_report w
refactor(cpus): convert Neoverse N2 to framework
This involves replacing: * the reset_func with the standard cpu_reset_func_{start,end} to apply errata automatically * the <cpu>_errata_report with the errata_report_shim to report errata automatically ...and for each erratum: * the prologue with the workaround_<type>_start to do the checks and framework registration automatically * the epilogue with the workaround_<type>_end * the checker function with the check_erratum_<type> to make it more descriptive
It is important to note that the errata workaround sequences remain unchanged and preserve their git blame.
Testing was conducted by:
* Manual comparison of disassembly of converted functions with non- converted functions
aarch64-none-elf-objdump -D <trusted-firmware-a with conversion>/build/fvp/release/bl31/bl31.elf vs aarch64-none-elf-objdump -D <trusted-firmware-a clean repo>/build/fvp/release/bl31/bl31.elf
* Build for release with all errata flags enabled and run default tftf tests
CROSS_COMPILE=aarch64-none-elf- make PLAT=fvp CTX_INCLUDE_AARCH32_REGS=0 \ HW_ASSISTED_COHERENCY=1 USE_COHERENT_MEM=0 \ BL33=./../tf-a-tests/build/fvp/debug/tftf.bin \ ERRATA_N2_2002655=1 ERRATA_N2_2025414=1 ERRATA_N2_2067956=1 ERRATA_N2_2189731=1 \ ERRATA_N2_2138956=1 ERRATA_N2_2138953=1 ERRATA_N2_2242415=1 ERRATA_N2_2138958=1 \ ERRATA_N2_2242400=1 ERRATA_N2_2280757=1 ERRATA_N2_2326639=1 ERRATA_N2_2376738=1 \ ERRATA_N2_2388450=1 ERRATA_N2_2743014=1 ERRATA_N2_2743089=1 ERRATA_DSU_2313941=1 \ WORKAROUND_CVE_2022_23960=1 ERRATA_ABI_SUPPORT=1 all fip
* Build for debug with all errata enabled and step through ArmDS at reset to ensure all functions are entered.
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I3dd06b5d827de5836eadd58ae28f28e62039f257
show more ...
|
| #
a438f434 |
| 23-Jun-2023 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
refactor(cpus): reorder Neoverse N2 errata by ascending order
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: Icf4c12f8404d2e7791bd9c008fe261314b047e14
|
| #
e24e42c6 |
| 28-Mar-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "feat_amu_rework" into integration
* changes: refactor(amu): use new AMU feature check routines refactor(amu): unify ENABLE_AMU and ENABLE_FEAT_AMUv1
|
| #
d23acc9e |
| 21-Mar-2023 |
Andre Przywara <andre.przywara@arm.com> |
refactor(amu): unify ENABLE_AMU and ENABLE_FEAT_AMUv1
So far we have the ENABLE_AMU build option to include AMU register handling code for enabling and context switch. There is also an ENABLE_FEAT_A
refactor(amu): unify ENABLE_AMU and ENABLE_FEAT_AMUv1
So far we have the ENABLE_AMU build option to include AMU register handling code for enabling and context switch. There is also an ENABLE_FEAT_AMUv1 option, solely to protect the HAFGRTR_EL2 system register handling. The latter needs some alignment with the new feature scheme, but it conceptually overlaps with the ENABLE_AMU option.
Since there is no real need for two separate options, unify both into a new ENABLE_FEAT_AMU name in a first step. This is mostly just renaming at this point, a subsequent patch will make use of the new feature handling scheme.
Change-Id: I97d8a55bdee2ed1e1509fa9f2b09fd0bdd82736e Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
c3c30ff8 |
| 21-Dec-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(cpus): workaround for Neoverse N2 erratum 2743089" into integration
|
| #
1ee7c823 |
| 07-Dec-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(cpus): workaround for Neoverse N2 erratum 2743089
Neoverse N2 erratum 2743089 is a Cat B erratum that applies to all revisions <=r0p2 and is fixed in r0p3. The workaround is to insert a dsb befo
fix(cpus): workaround for Neoverse N2 erratum 2743089
Neoverse N2 erratum 2743089 is a Cat B erratum that applies to all revisions <=r0p2 and is fixed in r0p3. The workaround is to insert a dsb before the isb in the power down sequence.
SDEN documentation: https://developer.arm.com/documentation/SDEN1982442/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: Idec862226bd32c91374a8bbd5d73d7ee480a34d9
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 ...
|
| #
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 ...
|
| #
9287a3fa |
| 20-Oct-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(cpus): fix cpu version check for Neoverse N2, V1" into integration
|
| #
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 ...
|
| #
25c9a4c8 |
| 17-Aug-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "fix(errata): workaround for Neoverse-N2 erratum 2376738" into integration
|
| #
e6602d4b |
| 18-Jul-2022 |
Akram Ahmad <Akram.Ahmad@arm.com> |
fix(errata): workaround for Neoverse-N2 erratum 2376738
Neoverse-N2 erratum 2376738 is a Cat B erratum that applies to revision r0p0 of the CPU. It is fixed in r0p1. The workaround is to set CPUACTL
fix(errata): workaround for Neoverse-N2 erratum 2376738
Neoverse-N2 erratum 2376738 is a Cat B erratum that applies to revision r0p0 of the CPU. It is fixed in r0p1. The workaround is to set CPUACTLR2_EL1[0] to 1 to force PLDW/PFRM ST to behave like PLD/PRFM LD and not cause invalidations to other PE caches.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1982442/latest
Signed-off-by: Akram Ahmad <Akram.Ahmad@arm.com> Change-Id: I4ad4434f9b7210244e67046d9657d218857dced5
show more ...
|
| #
994e1cfd |
| 08-Jul-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "fix(cpus): workaround for Neoverse-N2 erratum 2388450" into integration
|