| 85709f66 | 23-May-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for CVE-2024-5660 for Neoverse-V1
Implements mitigation for CVE-2024-5660 that affects Neoverse-V1 revisions r0p0, r1p0, r1p1, r1p2. The workaround is to disable the hardware p
fix(cpus): workaround for CVE-2024-5660 for Neoverse-V1
Implements mitigation for CVE-2024-5660 that affects Neoverse-V1 revisions r0p0, r1p0, r1p1, r1p2. The workaround is to disable the hardware page aggregation at EL3 by setting CPUECTLR_EL1[46] = 1'b1.
Public Documentation: https://developer.arm.com/Arm%20Security%20Center/Arm%20CPU%20Vulnerability%20CVE-2024-5660
Change-Id: Ia59452ea38c66b291790956d7f2880bfcd56d45f Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 902dc0e0 | 23-May-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for CVE-2024-5660 for Cortex-A78_AE
Implements mitigation for CVE-2024-5660 that affects Cortex-A78_AE revisions r0p0, r0p1, r0p2, r0p3. The workaround is to disable the hardwa
fix(cpus): workaround for CVE-2024-5660 for Cortex-A78_AE
Implements mitigation for CVE-2024-5660 that affects Cortex-A78_AE revisions r0p0, r0p1, r0p2, r0p3. The workaround is to disable the hardware page aggregation at EL3 by setting CPUECTLR_EL1[46] = 1'b1.
Public Documentation: https://developer.arm.com/Arm%20Security%20Center/Arm%20CPU%20Vulnerability%20CVE-2024-5660
Change-Id: I33ac653fcb45f687fe9ace1c76a3eb2000459751 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 46a4cadb | 23-May-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for CVE-2024-5660 for Cortex-A78C
Implements mitigation for CVE-2024-5660 that affects Cortex-A78C revisions r0p0, r0p1, r0p2. The workaround is to disable the hardware page ag
fix(cpus): workaround for CVE-2024-5660 for Cortex-A78C
Implements mitigation for CVE-2024-5660 that affects Cortex-A78C revisions r0p0, r0p1, r0p2. The workaround is to disable the hardware page aggregation at EL3 by setting CPUECTLR_EL1[46] = 1'b1.
Public Documentation: https://developer.arm.com/Arm%20Security%20Center/Arm%20CPU%20Vulnerability%20CVE-2024-5660
Change-Id: Ieb8d7b122320d16bf8987a43dc683ca41227beb5 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| c818bf1d | 23-May-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for CVE-2024-5660 for Cortex-A78
Implements mitigation for CVE-2024-5660 that affects Cortex-A78 revisions r0p0, r1p0, r1p1, r1p2. The workaround is to disable the hardware pag
fix(cpus): workaround for CVE-2024-5660 for Cortex-A78
Implements mitigation for CVE-2024-5660 that affects Cortex-A78 revisions r0p0, r1p0, r1p1, r1p2. The workaround is to disable the hardware page aggregation at EL3 by setting CPUECTLR_EL1[46] = 1'b1.
Public Documentation: https://developer.arm.com/Arm%20Security%20Center/Arm%20CPU%20Vulnerability%20CVE-2024-5660
Change-Id: I4e40388bef814481943b2459fe35dd7267c625a2 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 26293a74 | 23-May-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for CVE-2024-5660 for Cortex-X1
Implements mitigation for CVE-2024-5660 that affects Cortex-X1 revisions r0p0, r1p0, r1p1, r1p2. The workaround is to disable the hardware page
fix(cpus): workaround for CVE-2024-5660 for Cortex-X1
Implements mitigation for CVE-2024-5660 that affects Cortex-X1 revisions r0p0, r1p0, r1p1, r1p2. The workaround is to disable the hardware page aggregation at EL3 by setting CPUECTLR_EL1[46] = 1'b1.
Public Documentation: https://developer.arm.com/Arm%20Security%20Center/Arm%20CPU%20Vulnerability%20CVE-2024-5660
Change-Id: I3124db3980f2786412369a010ca6abbbbaa3b601 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 26e0ff9d | 21-May-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for CVE-2024-5660 for Neoverse-N2
Implements mitigation for CVE-2024-5660 that affects Neoverse-N2 revisions r0p0, r0p1, r0p2, r0p3. The workaround is to disable the hardware p
fix(cpus): workaround for CVE-2024-5660 for Neoverse-N2
Implements mitigation for CVE-2024-5660 that affects Neoverse-N2 revisions r0p0, r0p1, r0p2, r0p3. The workaround is to disable the hardware page aggregation at EL3 by setting CPUECTLR_EL1[46] = 1'b1. This patch implements the erratum mitigation for Neoverse-N2.
Public Documentation: https://developer.arm.com/Arm%20Security%20Center/Arm%20CPU%20Vulnerability%20CVE-2024-5660
Change-Id: I2b9dea78771cc159586a03ff563c0ec79591ea64 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 0d7b503f | 21-May-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for CVE-2024-5660 for Cortex-A710
Implements mitigation for CVE-2024-5660 that affects Cortex-A710 revisions r0p0, r1p0, r2p0, r2p1. The workaround is to disable the hardware p
fix(cpus): workaround for CVE-2024-5660 for Cortex-A710
Implements mitigation for CVE-2024-5660 that affects Cortex-A710 revisions r0p0, r1p0, r2p0, r2p1. The workaround is to disable the hardware page aggregation at EL3 by setting CPUECTLR_EL1[46] = 1'b1.
Public Documentation: https://developer.arm.com/Arm%20Security%20Center/Arm%20CPU%20Vulnerability%20CVE-2024-5660
Change-Id: I10feea238600dcceaac7bb75a59db7913ca65cf1 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 878464f0 | 21-May-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for CVE-2024-5660 for Neoverse-V2
Implements mitigation for CVE-2024-5660 that affects Neoverse-V2 revisions r0p0, r0p1, r0p2. The workaround is to disable the hardware page ag
fix(cpus): workaround for CVE-2024-5660 for Neoverse-V2
Implements mitigation for CVE-2024-5660 that affects Neoverse-V2 revisions r0p0, r0p1, r0p2. The workaround is to disable the hardware page aggregation at EL3 by setting CPUECTLR_EL1[46] = 1'b1.
Public Documentation: https://developer.arm.com/Arm%20Security%20Center/Arm%20CPU%20Vulnerability%20CVE-2024-5660
Change-Id: If66687add52d16f68ce54fe5433dd3b3f067ee04 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| b0d441bd | 21-May-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for CVE-2024-5660 for Cortex-X3
Implements mitigation for CVE-2024-5660 that affects Cortex-X3 revisions r0p0, r1p0, r1p1, r1p2. The workaround is to disable the hardware page
fix(cpus): workaround for CVE-2024-5660 for Cortex-X3
Implements mitigation for CVE-2024-5660 that affects Cortex-X3 revisions r0p0, r1p0, r1p1, r1p2. The workaround is to disable the hardware page aggregation at EL3 by setting CPUECTLR_EL1[46] = 1'b1.
Public Documentation: https://developer.arm.com/Arm%20Security%20Center/Arm%20CPU%20Vulnerability%20CVE-2024-5660
Change-Id: Ibe90313948102ece3469f2cfe3faccc7f4beeabe Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| ad3da019 | 21-May-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for CVE-2024-5660 for Neoverse-V3
Implements mitigation for CVE-2024-5660 that affects Neoverse-V3 revisions r0p0, r0p1. The workaround is to disable the hardware page aggregat
fix(cpus): workaround for CVE-2024-5660 for Neoverse-V3
Implements mitigation for CVE-2024-5660 that affects Neoverse-V3 revisions r0p0, r0p1. The workaround is to disable the hardware page aggregation at EL3 by setting CPUECTLR_EL1[46] = 1'b1.
Public Documentation: https://developer.arm.com/Arm%20Security%20Center/Arm%20CPU%20Vulnerability%20CVE-2024-5660
Change-Id: I9ed2590bf1215bf6a692f01dfd351e469ff072f8 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| af65cbb9 | 20-May-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for CVE-2024-5660 for Cortex-X4
Implements mitigation for CVE-2024-5660 that affects Cortex-X4 revisions r0p0, r0p1, r0p2. The workaround is to disable the hardware page aggreg
fix(cpus): workaround for CVE-2024-5660 for Cortex-X4
Implements mitigation for CVE-2024-5660 that affects Cortex-X4 revisions r0p0, r0p1, r0p2. The workaround is to disable the hardware page aggregation at EL3 by setting CPUECTLR_EL1[46] = 1'b1.
Public Documentation: https://developer.arm.com/Arm%20Security%20Center/Arm%20CPU%20Vulnerability%20CVE-2024-5660
Change-Id: I378cb4978919cced03e7febc2ad431c572eac72d Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 6595f4cb | 13-Dec-2024 |
Igor Podgainõi <igor.podgainoi@arm.com> |
fix(cm): fix context management SYSREG128 write macros
This patch fixes a bug which was introduced in commit 3065513 related to improper saving of EL1 context in the context management library code
fix(cm): fix context management SYSREG128 write macros
This patch fixes a bug which was introduced in commit 3065513 related to improper saving of EL1 context in the context management library code when using 128-bit system registers.
Bug explanation: The function el1_sysregs_context_save still used the normal macros that read all the system registers related to the EL1 context, which then involved casting them to uint64_t and eventually writing them to a memory structure. This means that the context management library was saving EL1-related SYSREG128 registers with the upper 64 bits zeroed out.
Alternative macros had previously been introduced for the EL2 context in the aforementioned commit, but not for EL1.
Some refactoring has also been done as part of this patch: - Re-added "common" back to write_el2_ctx_common_sysreg128 - Added dummy SYSREG128 macros for cases when some features are disabled - Removed some newlines
Change-Id: I15aa2190794ac099a493e5f430220b1c81e1b558 Signed-off-by: Igor Podgainõi <igor.podgainoi@arm.com>
show more ...
|
| 73d98e37 | 02-Dec-2024 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(trbe): add a tsb before context switching
Just like for SPE, we need to synchronize TRBE samples before we change the context to ensure everything goes where it was intended to. If that is not d
fix(trbe): add a tsb before context switching
Just like for SPE, we need to synchronize TRBE samples before we change the context to ensure everything goes where it was intended to. If that is not done, the in-flight entries might use any piece of now incorrect context as there are no implicit ordering requirements.
Prior to root context, the buffer drain hooks would have done that. But now that must happen much earlier. So add a tsb to prepare_el3_entry as well.
Annoyingly, the barrier can be reordered relative to other instructions by default (rule RCKVWP). So add an isb after the psb/tsb to assure that they are ordered, at least as far as context is concerned.
Then, drop the buffer draining hooks. Everything they need to do is already done by now. There's a notable difference in that there are no dsb-s now. Since EL3 does not access the buffers or the feature specific context, we don't need to wait for them to finish.
Finally, drop a stray isb in the context saving macro. It is now absorbed into root context, but was missed.
Change-Id: I30797a40ac7f91d0bb71ad271a1597e85092ccd5 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| f8088733 | 21-Nov-2024 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(spe): add a psb before updating context and remove context saving
In the chapter about FEAT_SPE (D16.4 specifically) it is stated that "Sampling is always disabled at EL3". That means that disab
fix(spe): add a psb before updating context and remove context saving
In the chapter about FEAT_SPE (D16.4 specifically) it is stated that "Sampling is always disabled at EL3". That means that disabling sampling (writing PMBLIMITR_EL1.E to 0) is redundant and can be removed. The only reason we save/restore SPE context is because of that disable, so those can be removed too.
There's the issue of draining the profiling buffer though. No new samples will have been generated since entering EL3. However, old samples might still be in-flight. Unless synchronised by a psb csync, those might be affected by our extensive context mutation. Adding a psb in prepare_el3_entry should cater for that. Note that prior to the introduction of root context this was not a problem as context remained unchanged and the hooks took care of the rest.
Then, the only time we care about the buffer actually making it to memory is when we exit coherency. On HW_ASSISTED_COHERENCY systems we don't have to do anything, it should be handled for us. Systems without it need a dsb to wait for them to complete. There should be one already in each cpu's powerdown hook which should work.
While on the topic of barriers, the esb barrier is no longer used. Remove it.
Change-Id: I9736fc7d109702c63e7d403dc9e2a4272828afb2 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 62ed5aa0 | 13-Dec-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "fix(romlib): romlib build without MbedTLS" into integration |
| f8872c94 | 12-Dec-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(cpus): workaround for Cortex-X4 erratum 2923985" into integration |
| a57e18e4 | 11-Nov-2024 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
feat(fpmr): disable FPMR trap
This patch enables support of FEAT_FPMR by enabling access to FPMR register. It achieves it by setting the EnFPM bit of SCR_EL3. This feature is currently enabled for N
feat(fpmr): disable FPMR trap
This patch enables support of FEAT_FPMR by enabling access to FPMR register. It achieves it by setting the EnFPM bit of SCR_EL3. This feature is currently enabled for NS world only.
Reference: https://developer.arm.com/documentation/109697/2024_09/ Feature-descriptions/The-Armv9-5-architecture-extension?lang=en
Change-Id: I580c409b9b22f8ead0737502280fb9093a3d5dd2 Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
show more ...
|
| cc461661 | 27-Nov-2024 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(cpus): workaround for Cortex-X4 erratum 2923985
Cortex-X4 erratum 2923935 is a Cat B erratum that applies to all revisions <= r0p1 and is fixed in r0p2.
The workaround is to set CPUACTLR4_EL1[1
fix(cpus): workaround for Cortex-X4 erratum 2923985
Cortex-X4 erratum 2923935 is a Cat B erratum that applies to all revisions <= r0p1 and is fixed in r0p2.
The workaround is to set CPUACTLR4_EL1[11:10] to 0b11.
SDEN documentation: https://developer.arm.com/documentation/SDEN-2432808/latest
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I9207802ad479919a7f77c1271019fa2479e076ee
show more ...
|
| e372c291 | 11-Dec-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "chore(romlib): remove unused jmptbl.i file" into integration |
| 8953568a | 13-May-2024 |
Levi Yun <yeoreum.yun@arm.com> |
feat(lib): introduce Hob creation library
According to Platform Initialization (PI) Specification [1] and discussion on edk2 mailing list [2], StandaloneMm shouldn't create Hob but it should be pass
feat(lib): introduce Hob creation library
According to Platform Initialization (PI) Specification [1] and discussion on edk2 mailing list [2], StandaloneMm shouldn't create Hob but it should be passed from TF-A. IOW, TF-A should pass boot information via HOB list to initialise StandaloneMm properly.
And this HOB lists could be delivered via - SPM_MM: Transfer List according to the firmware handoff spec[3]
- FF-A v1.1 >= : FF-A boot protocol.
This patch introduces a TF-A HOB creation library and some of definitions which StandaloneMm requires to boot.
Link: https://uefi.org/sites/default/files/resources/PI_Spec_1_6.pdf [1] Link: https://edk2.groups.io/g/devel/topic/103675962#114283 [2] Link: https://github.com/FirmwareHandoff/firmware_handoff [3] Signed-off-by: Levi Yun <yeoreum.yun@arm.com> Change-Id: I5e0838adce487110206998a8b79bc3adca922cec
show more ...
|
| 6b68b4a4 | 13-May-2024 |
Levi Yun <yeoreum.yun@arm.com> |
feat(lib): modify Hob creation code imported from edk2
According to Platform Initialization (PI) Specification [1] and Discussion on edk2 mailing list [2], StandaloneMm shouldn't create Hob but it s
feat(lib): modify Hob creation code imported from edk2
According to Platform Initialization (PI) Specification [1] and Discussion on edk2 mailing list [2], StandaloneMm shouldn't create Hob but it should be passed from TF-A. IOW, TF-A should pass boot information via PHIT Hob to initialize StandaloneMm properly.
This patch modifies Hob creation code from edk2 codebase so that TF-A could create Hob information properly to boot StandaloneMm
Link: https://uefi.org/sites/default/files/resources/PI_Spec_1_6.pdf [1] Link: https://edk2.groups.io/g/devel/topic/103675962#114283 [2] Signed-off-by: Levi Yun <yeoreum.yun@arm.com> Change-Id: I5e427b620d8006b118b266370bd08d4b0ff56a83
show more ...
|
| 21058318 | 23-Sep-2024 |
Levi Yun <yeoreum.yun@arm.com> |
feat(lib): copy StandaloneMm Hob creation library in edk2
According to Platform Initialization (PI) Specification [1] and Discussion on edk2 mailing list [2], StandaloneMm shouldn't create Hob but i
feat(lib): copy StandaloneMm Hob creation library in edk2
According to Platform Initialization (PI) Specification [1] and Discussion on edk2 mailing list [2], StandaloneMm shouldn't create Hob but it should be passed from TF-A. IOW, TF-A should pass boot information via PHIT Hob to initialise StandaloneMm properly.
To create Hob information to boot StandaloneMm, copy Hob creation code form edk2 codebase: https://github.com/tianocore/edk2/blob/master/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmCoreHobLib.c
Link: https://uefi.org/sites/default/files/resources/PI_Spec_1_6.pdf [1] Link: https://edk2.groups.io/g/devel/topic/103675962#114283 [2] Signed-off-by: Levi Yun <yeoreum.yun@arm.com> Change-Id: I784684d63f21a7879a2438ed522e158ca785186e
show more ...
|
| e4a070e3 | 03-Dec-2024 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
fix(romlib): romlib build without MbedTLS
The ROMLIB build currently has a strong dependency on MbedTLS. This patch has been introduced to remove this dependency, making it more flexible.
Change-Id
fix(romlib): romlib build without MbedTLS
The ROMLIB build currently has a strong dependency on MbedTLS. This patch has been introduced to remove this dependency, making it more flexible.
Change-Id: If8c4cc7cf557687f40b235a4b8f931cfb70943fd Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 13a1ec38 | 05-Dec-2024 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
chore(romlib): remove unused jmptbl.i file
Remove the unused jmptbl.i file. The ROMLIB Makefile expects platforms to provide the jmptbl according to their requirements.
Change-Id: I2784eaca5061aa77
chore(romlib): remove unused jmptbl.i file
Remove the unused jmptbl.i file. The ROMLIB Makefile expects platforms to provide the jmptbl according to their requirements.
Change-Id: I2784eaca5061aa77fdd99f7b2b5ef5a1145475e9 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 940ecd07 | 29-Nov-2024 |
Igor Podgainõi <igor.podgainoi@arm.com> |
feat(cpus): add support for Alto CPU
Add basic CPU library code to support the Alto CPU.
Change-Id: I45958be99c4a350a32a9e511d3705fb568b97236 Signed-off-by: Igor Podgainõi <igor.podgainoi@arm.com> |