Unverified Commit c0ce16fb authored by Soby Mathew's avatar Soby Mathew Committed by GitHub
Browse files

Merge pull request #1878 from jts-arm/sctlr

Apply stricter speculative load restriction
Showing with 19 additions and 11 deletions
+19 -11
...@@ -42,12 +42,13 @@ func bl2_entrypoint ...@@ -42,12 +42,13 @@ func bl2_entrypoint
stcopr r0, VBAR stcopr r0, VBAR
isb isb
/* ----------------------------------------------------- /* --------------------------------------------------------
* Enable the instruction cache * Enable the instruction cache - disable speculative loads
* ----------------------------------------------------- * --------------------------------------------------------
*/ */
ldcopr r0, SCTLR ldcopr r0, SCTLR
orr r0, r0, #SCTLR_I_BIT orr r0, r0, #SCTLR_I_BIT
bic r0, r0, #SCTLR_DSSBS_BIT
stcopr r0, SCTLR stcopr r0, SCTLR
isb isb
......
...@@ -41,12 +41,14 @@ func bl2_entrypoint ...@@ -41,12 +41,14 @@ func bl2_entrypoint
/* --------------------------------------------- /* ---------------------------------------------
* Enable the instruction cache, stack pointer * Enable the instruction cache, stack pointer
* and data access alignment checks * and data access alignment checks and disable
* speculative loads.
* --------------------------------------------- * ---------------------------------------------
*/ */
mov x1, #(SCTLR_I_BIT | SCTLR_A_BIT | SCTLR_SA_BIT) mov x1, #(SCTLR_I_BIT | SCTLR_A_BIT | SCTLR_SA_BIT)
mrs x0, sctlr_el1 mrs x0, sctlr_el1
orr x0, x0, x1 orr x0, x0, x1
bic x0, x0, #SCTLR_DSSBS_BIT
msr sctlr_el1, x0 msr sctlr_el1, x0
isb isb
......
/* /*
* Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2016-2019, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -41,12 +41,13 @@ func bl2u_entrypoint ...@@ -41,12 +41,13 @@ func bl2u_entrypoint
stcopr r0, VBAR stcopr r0, VBAR
isb isb
/* ----------------------------------------------------- /* --------------------------------------------------------
* Enable the instruction cache * Enable the instruction cache - disable speculative loads
* ----------------------------------------------------- * --------------------------------------------------------
*/ */
ldcopr r0, SCTLR ldcopr r0, SCTLR
orr r0, r0, #SCTLR_I_BIT orr r0, r0, #SCTLR_I_BIT
bic r0, r0, #SCTLR_DSSBS_BIT
stcopr r0, SCTLR stcopr r0, SCTLR
isb isb
......
/* /*
* Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2015-2019, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -38,12 +38,14 @@ func bl2u_entrypoint ...@@ -38,12 +38,14 @@ func bl2u_entrypoint
/* --------------------------------------------- /* ---------------------------------------------
* Enable the instruction cache, stack pointer * Enable the instruction cache, stack pointer
* and data access alignment checks * and data access alignment checks and disable
* speculative loads.
* --------------------------------------------- * ---------------------------------------------
*/ */
mov x1, #(SCTLR_I_BIT | SCTLR_A_BIT | SCTLR_SA_BIT) mov x1, #(SCTLR_I_BIT | SCTLR_A_BIT | SCTLR_SA_BIT)
mrs x0, sctlr_el1 mrs x0, sctlr_el1
orr x0, x0, x1 orr x0, x0, x1
bic x0, x0, #SCTLR_DSSBS_BIT
msr sctlr_el1, x0 msr sctlr_el1, x0
isb isb
......
...@@ -63,12 +63,14 @@ func tsp_entrypoint _align=3 ...@@ -63,12 +63,14 @@ func tsp_entrypoint _align=3
/* --------------------------------------------- /* ---------------------------------------------
* Enable the instruction cache, stack pointer * Enable the instruction cache, stack pointer
* and data access alignment checks * and data access alignment checks and disable
* speculative loads.
* --------------------------------------------- * ---------------------------------------------
*/ */
mov x1, #(SCTLR_I_BIT | SCTLR_A_BIT | SCTLR_SA_BIT) mov x1, #(SCTLR_I_BIT | SCTLR_A_BIT | SCTLR_SA_BIT)
mrs x0, sctlr_el1 mrs x0, sctlr_el1
orr x0, x0, x1 orr x0, x0, x1
bic x0, x0, #SCTLR_DSSBS_BIT
msr sctlr_el1, x0 msr sctlr_el1, x0
isb isb
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment