diff options
author | John Tsichritzis <john.tsichritzis@arm.com> | 2019-08-13 10:28:25 +0100 |
---|---|---|
committer | John Tsichritzis <john.tsichritzis@arm.com> | 2019-09-11 14:37:42 +0100 |
commit | 07f979bcc70521dbc020d7ac87a09510fe86c7d0 (patch) | |
tree | aef7eae62f7510633d717308a41f7dde77446d70 /lib | |
parent | 5dbdf8e4eac1d5999f07976f9f430894b0784907 (diff) |
Zeus: apply the MSR SSBS instruction
Zeus supports the SSBS mechanism and also the new MSR instruction to
immediately apply the mitigation. Hence, the new instruction is utilised
in the Zeus-specific reset function.
Change-Id: I962747c28afe85a15207a0eba4146f9a115b27e7
Signed-off-by: John Tsichritzis <john.tsichritzis@arm.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/cpus/aarch64/neoverse_zeus.S | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/cpus/aarch64/neoverse_zeus.S b/lib/cpus/aarch64/neoverse_zeus.S index 3d850137..44882b45 100644 --- a/lib/cpus/aarch64/neoverse_zeus.S +++ b/lib/cpus/aarch64/neoverse_zeus.S @@ -46,6 +46,16 @@ func neoverse_zeus_errata_report endfunc neoverse_zeus_errata_report #endif +func neoverse_zeus_reset_func + mov x19, x30 + + /* Disable speculative loads */ + msr SSBS, xzr + + isb + ret x19 +endfunc neoverse_zeus_reset_func + /* --------------------------------------------- * This function provides Neoverse-Zeus specific * register information for crash reporting. @@ -66,5 +76,5 @@ func neoverse_zeus_cpu_reg_dump endfunc neoverse_zeus_cpu_reg_dump declare_cpu_ops neoverse_zeus, NEOVERSE_ZEUS_MIDR, \ - CPU_NO_RESET_FUNC, \ + neoverse_zeus_reset_func, \ neoverse_zeus_core_pwr_dwn |