arm-trusted-firmware/lib/cpus/aarch64
Arvind Ram Prakash 8ae6b1ad6c fix(security): apply SMCCC_ARCH_WORKAROUND_4 to affected cpus
This patch implements SMCCC_ARCH_WORKAROUND_4 and
allows discovery through SMCCC_ARCH_FEATURES.
This mechanism is enabled if CVE_2024_7881 [1] is enabled
by the platform. If CVE_2024_7881 mitigation
is implemented, the discovery call returns 0,
if not -1 (SMC_ARCH_CALL_NOT_SUPPORTED).

For more information about SMCCC_ARCH_WORKAROUND_4 [2], please
refer to the SMCCC Specification reference provided below.

[1]: https://developer.arm.com/Arm%20Security%20Center/Arm%20CPU%20Vulnerability%20CVE-2024-7881
[2]: https://developer.arm.com/documentation/den0028/latest

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I1b1ffaa1f806f07472fd79d5525f81764d99bc79
2025-01-30 16:45:35 -06:00
..
a64fx.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
aem_generic.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_a35.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_a53.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_a55.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_a57.S chore(cpus): optimise runtime errata applications 2024-10-16 13:59:57 +01:00
cortex_a65.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_a65ae.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_a72.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_a73.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_a75.S fix(cpus): modify the fix for Cortex-A75 erratum 764081 2024-10-03 10:07:47 -05:00
cortex_a75_pubsub.c chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
cortex_a76.S chore(cpus): optimise runtime errata applications 2024-10-16 13:59:57 +01:00
cortex_a76ae.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_a77.S fix(cpus): workaround for CVE-2024-5660 for Cortex-A77 2024-12-17 10:28:09 -06:00
cortex_a78.S fix(cpus): workaround for CVE-2024-5660 for Cortex-A78 2024-12-17 10:28:09 -06:00
cortex_a78_ae.S fix(cpus): workaround for CVE-2024-5660 for Cortex-A78_AE 2024-12-17 10:28:09 -06:00
cortex_a78c.S fix(cpus): workaround for CVE-2024-5660 for Cortex-A78C 2024-12-17 10:28:09 -06:00
cortex_a510.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_a520.S Merge changes from topic "clean-up-errata-compatibility" into integration 2024-08-27 16:23:58 +02:00
cortex_a710.S fix(cpus): workaround for CVE-2024-5660 for Cortex-A710 2024-12-17 10:28:09 -06:00
cortex_a715.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_a720.S Merge changes from topic "clean-up-errata-compatibility" into integration 2024-08-27 16:23:58 +02:00
cortex_a720_ae.S feat(cpus): add support for cortex-a720ae 2024-10-21 15:20:34 +01:00
cortex_a725.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_alto.S feat(cpus): add support for Alto CPU 2024-12-05 16:22:29 +01:00
cortex_arcadia.S feat(cpus): add support for arcadia cpu 2024-10-17 09:34:03 -05:00
cortex_gelas.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
cortex_x1.S fix(cpus): workaround for CVE-2024-5660 for Cortex-X1 2024-12-17 10:28:09 -06:00
cortex_x2.S fix(cpus): workaround for CVE-2024-5660 for Cortex-X2 2024-12-17 10:28:09 -06:00
cortex_x3.S fix(security): apply SMCCC_ARCH_WORKAROUND_4 to affected cpus 2025-01-30 16:45:35 -06:00
cortex_x4.S fix(security): apply SMCCC_ARCH_WORKAROUND_4 to affected cpus 2025-01-30 16:45:35 -06:00
cortex_x925.S fix(security): apply SMCCC_ARCH_WORKAROUND_4 to affected cpus 2025-01-30 16:45:35 -06:00
cpu_helpers.S fix(security): apply SMCCC_ARCH_WORKAROUND_4 to affected cpus 2025-01-30 16:45:35 -06:00
cpuamu.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
cpuamu_helpers.S chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
denver.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
dsu_helpers.S feat(rockchip): add RK3566/RK3568 Socs support 2024-06-07 11:59:46 +02:00
generic.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
neoverse_e1.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
neoverse_n1.S chore(cpus): optimise runtime errata applications 2024-10-16 13:59:57 +01:00
neoverse_n1_pubsub.c chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
neoverse_n2.S fix(cpus): workaround for CVE-2024-5660 for Neoverse-N2 2024-12-17 10:28:09 -06:00
neoverse_n3.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
neoverse_n_common.S Add support for Neoverse-N2 CPUs. 2020-11-30 19:12:56 +00:00
neoverse_v1.S fix(cpus): workaround for CVE-2024-5660 for Neoverse-V1 2024-12-17 10:28:09 -06:00
neoverse_v2.S fix(security): apply SMCCC_ARCH_WORKAROUND_4 to affected cpus 2025-01-30 16:45:35 -06:00
neoverse_v3.S fix(security): apply SMCCC_ARCH_WORKAROUND_4 to affected cpus 2025-01-30 16:45:35 -06:00
nevis.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
qemu_max.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
rainier.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
travis.S refactor(cpus): remove cpu specific errata funcs 2024-07-26 11:19:52 +01:00
wa_cve_2017_5715_bpiall.S chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
wa_cve_2017_5715_mmu.S chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
wa_cve_2022_23960_bhb.S chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
wa_cve_2022_23960_bhb_vector.S fix(security): workaround for CVE-2022-23960 2022-03-10 23:57:14 -06:00