arm-trusted-firmware/lib/cpus/aarch64
Jeenu Viswambharan 48e1d350a0 AArch64: Use SSBS for CVE_2018_3639 mitigation
The Armv8.5 extensions introduces PSTATE.SSBS (Speculation Store Bypass
Safe) bit to mitigate against Variant 4 vulnerabilities. Although an
Armv8.5 feature, this can be implemented by CPUs implementing earlier
version of the architecture.

With this patch, when both PSTATE.SSBS is implemented and
DYNAMIC_WORKAROUND_CVE_2018_3639 is active, querying for
SMCCC_ARCH_WORKAROUND_2 via. SMCCC_ARCH_FEATURES call would return 1 to
indicate that mitigation on the PE is either permanently enabled or not
required.

When SSBS is implemented, SCTLR_EL3.DSSBS is initialized to 0 at reset
of every BL stage. This means that EL3 always executes with mitigation
applied.

For Cortex A76, if the PE implements SSBS, the existing mitigation (by
using a different vector table, and tweaking CPU ACTLR2) is not used.

Change-Id: Ib0386c5714184144d4747951751c2fc6ba4242b6
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
2018-12-10 14:28:58 +00:00
..
aem_generic.S Make errata reporting mandatory for CPU files 2018-10-29 09:54:32 +00:00
cortex_a35.S Make errata reporting mandatory for CPU files 2018-10-29 09:54:32 +00:00
cortex_a53.S ti: k3: common: Do not disable cache on TI K3 core powerdown 2018-10-16 09:27:53 -05:00
cortex_a55.S DSU erratum 936184 workaround 2018-08-17 10:34:43 +01:00
cortex_a57.S cpulib: Add ISBs or comment why they are unneeded 2018-06-19 10:34:51 +01:00
cortex_a72.S cpulib: Add ISBs or comment why they are unneeded 2018-06-19 10:34:51 +01:00
cortex_a73.S cpulib: Add ISBs or comment why they are unneeded 2018-06-19 10:34:51 +01:00
cortex_a75.S DSU erratum 936184 workaround 2018-08-17 10:34:43 +01:00
cortex_a75_pubsub.c Fix MISRA defects in workaround and errata framework 2018-10-29 14:41:48 +00:00
cortex_a76.S AArch64: Use SSBS for CVE_2018_3639 mitigation 2018-12-10 14:28:58 +00:00
cortex_ares.S Fix the Cortex-ares errata reporting function name 2018-09-10 11:51:31 +01:00
cortex_ares_pubsub.c Fix MISRA defects in workaround and errata framework 2018-10-29 14:41:48 +00:00
cortex_deimos.S Make errata reporting mandatory for CPU files 2018-10-29 09:54:32 +00:00
cortex_helios.S Make errata reporting mandatory for CPU files 2018-10-29 09:54:32 +00:00
cpu_helpers.S Add support for dynamic mitigation for CVE-2018-3639 2018-05-23 12:45:48 +01:00
cpuamu.c Fix MISRA Rule 5.7 Part 1 2018-06-12 13:21:36 +01:00
cpuamu_helpers.S Fix MISRA defects in extension libs 2018-10-29 14:41:48 +00:00
denver.S cpus: denver: Implement static workaround for CVE-2018-3639 2018-09-04 17:34:08 -07:00
dsu_helpers.S DSU erratum 936184 workaround: bug fix 2018-08-23 12:57:47 +01:00
wa_cve_2017_5715_bpiall.S Add end_vector_entry assembler macro 2018-07-11 09:23:00 +01:00
wa_cve_2017_5715_mmu.S Add end_vector_entry assembler macro 2018-07-11 09:23:00 +01:00