diff options
author | Achin Gupta <achin.gupta@arm.com> | 2014-01-18 16:50:09 +0000 |
---|---|---|
committer | Dan Handley <dan.handley@arm.com> | 2014-02-17 18:51:44 +0000 |
commit | b739f22a99c96d5a295f083125505b5b5ec2f8b6 (patch) | |
tree | faed79c3d8e505d3168aa0299aa68099cc3f4fe6 /bl31/aarch64/bl31_entrypoint.S | |
parent | 65f0730ba34d5e22d3372cef76f048339d9c4588 (diff) |
Setup VBAR_EL3 incrementally
This patch ensures that VBAR_EL3 points to the simple stack-less
'early_exceptions' when the C runtime stack is not correctly setup to
use the more complex 'runtime_exceptions'. It is initialised to
'runtime_exceptions' once this is done.
This patch also moves all exception vectors into a '.vectors' section
and modifies linker scripts to place all such sections together. This
will minimize space wastage from alignment restrictions.
Change-Id: I8c3e596ea3412c8bd582af9e8d622bb1cb2e049d
Diffstat (limited to 'bl31/aarch64/bl31_entrypoint.S')
-rw-r--r-- | bl31/aarch64/bl31_entrypoint.S | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/bl31/aarch64/bl31_entrypoint.S b/bl31/aarch64/bl31_entrypoint.S index 57f6551..cd0c023 100644 --- a/bl31/aarch64/bl31_entrypoint.S +++ b/bl31/aarch64/bl31_entrypoint.S @@ -58,7 +58,7 @@ bl31_entrypoint: ; .type bl31_entrypoint, %function * Set the exception vector to something sane. * --------------------------------------------- */ - adr x1, runtime_exceptions + adr x1, early_exceptions msr vbar_el3, x1 /* --------------------------------------------------------------------- @@ -155,6 +155,14 @@ bl31_entrypoint: ; .type bl31_entrypoint, %function bl platform_set_stack /* --------------------------------------------- + * Use the more complex exception vectors now + * the stacks are setup. + * --------------------------------------------- + */ + adr x1, runtime_exceptions + msr vbar_el3, x1 + + /* --------------------------------------------- * Use SP_EL0 to initialize BL31. It allows us * to jump to the next image without having to * come back here to ensure all of the stack's |