Introduce macros to manipulate the SPSR
This patch introduces macros (SPSR_64 and SPSR_32) to
create a SPSR for both aarch32 and aarch64 execution
states. These macros allow the user to set fields
in the SPSR depending upon its format.
The make_spsr() function which did not allow
manipulation of all the fields in the aarch32 SPSR
has been replaced by these new macros.
Change-Id: I9425dda0923e8d5f03d03ddb8fa0e28392c4c61e
diff --git a/bl2/bl2_main.c b/bl2/bl2_main.c
index ac28559..4a54bf1 100644
--- a/bl2/bl2_main.c
+++ b/bl2/bl2_main.c
@@ -140,7 +140,7 @@
* well.
*/
bl2_to_bl31_args->bl33_image_info.spsr =
- make_spsr(mode, MODE_SP_ELX, MODE_RW_64);
+ SPSR_64(mode, MODE_SP_ELX, DISABLE_ALL_EXCEPTIONS);
bl2_to_bl31_args->bl33_image_info.security_state = NON_SECURE;
if (bl32_base) {
@@ -165,7 +165,7 @@
* BL31 as an argument.
*/
run_image(bl31_base,
- make_spsr(MODE_EL3, MODE_SP_ELX, MODE_RW_64),
+ SPSR_64(MODE_EL3, MODE_SP_ELX, DISABLE_ALL_EXCEPTIONS),
SECURE,
(void *) bl2_to_bl31_args,
NULL);