aboutsummaryrefslogtreecommitdiff
path: root/bl1/aarch64/bl1_entrypoint.S
diff options
context:
space:
mode:
Diffstat (limited to 'bl1/aarch64/bl1_entrypoint.S')
-rw-r--r--bl1/aarch64/bl1_entrypoint.S18
1 files changed, 18 insertions, 0 deletions
diff --git a/bl1/aarch64/bl1_entrypoint.S b/bl1/aarch64/bl1_entrypoint.S
index f5ccc65511..9db2bdf092 100644
--- a/bl1/aarch64/bl1_entrypoint.S
+++ b/bl1/aarch64/bl1_entrypoint.S
@@ -28,6 +28,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
+#include <arch.h>
.globl reset_handler
@@ -49,6 +50,23 @@ reset_handler:; .type reset_handler, %function
*/
bl cpu_reset_handler
+ /* ---------------------------------------------
+ * Set the exception vector to something sane.
+ * ---------------------------------------------
+ */
+ adr x0, early_exceptions
+ msr vbar_el3, x0
+
+ /* ---------------------------------------------
+ * Enable the instruction cache.
+ * ---------------------------------------------
+ */
+ mrs x0, sctlr_el3
+ orr x0, x0, #SCTLR_I_BIT
+ msr sctlr_el3, x0
+
+ isb
+
_wait_for_entrypoint:
/* ---------------------------------------------
* Find the type of reset and jump to handler