diff options
Diffstat (limited to 'bl1/aarch64/bl1_entrypoint.S')
-rw-r--r-- | bl1/aarch64/bl1_entrypoint.S | 18 |
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 |