summaryrefslogtreecommitdiff
path: root/bl2
diff options
context:
space:
mode:
authorSandrine Bailleux <sandrine.bailleux@arm.com>2013-11-12 16:41:16 +0000
committerDan Handley <dan.handley@arm.com>2013-11-27 15:31:06 +0000
commitc10bd2ce69e54a8c71fa773810e130fc465c03ac (patch)
tree34e34f2b4a21a448c4823f8b591579cfd1ca9f36 /bl2
parentba3155bb0eb51ca4b5dcf43877c394381cff2fb1 (diff)
Move generic architectural setup out of blx_plat_arch_setup().
blx_plat_arch_setup() should only perform platform-specific architectural setup, e.g. enabling the MMU. This patch moves generic architectural setup code out of blx_plat_arch_setup(). Change-Id: I4ccf56b8c4a2fa84909817779a2d97a14aaafab6
Diffstat (limited to 'bl2')
-rw-r--r--bl2/aarch64/bl2_entrypoint.S18
1 files changed, 18 insertions, 0 deletions
diff --git a/bl2/aarch64/bl2_entrypoint.S b/bl2/aarch64/bl2_entrypoint.S
index bade0991..4b989a69 100644
--- a/bl2/aarch64/bl2_entrypoint.S
+++ b/bl2/aarch64/bl2_entrypoint.S
@@ -29,6 +29,7 @@
*/
#include <bl_common.h>
+#include <arch.h>
.globl bl2_entrypoint
@@ -59,6 +60,23 @@ bl2_entrypoint:; .type bl2_entrypoint, %function
bl platform_is_primary_cpu
cbz x0, _panic
+ /* ---------------------------------------------
+ * Set the exception vector to something sane.
+ * ---------------------------------------------
+ */
+ adr x0, early_exceptions
+ msr vbar_el1, x0
+
+ /* ---------------------------------------------
+ * Enable the instruction cache.
+ * ---------------------------------------------
+ */
+ mrs x0, sctlr_el1
+ orr x0, x0, #SCTLR_I_BIT
+ msr sctlr_el1, x0
+
+ isb
+
/* --------------------------------------------
* Give ourselves a small coherent stack to
* ease the pain of initializing the MMU