diff options
Diffstat (limited to 'bl1/bl1_main.c')
-rw-r--r-- | bl1/bl1_main.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/bl1/bl1_main.c b/bl1/bl1_main.c index e3225319..dad64e25 100644 --- a/bl1/bl1_main.c +++ b/bl1/bl1_main.c @@ -44,14 +44,16 @@ ******************************************************************************/ static void __dead2 bl1_run_bl2(entry_point_info_t *bl2_ep) { + /* Check bl2 security state is expected as secure */ + assert(GET_SECURITY_STATE(bl2_ep->h.attr) == SECURE); + /* Check NS Bit is also set as secure */ + assert(!(read_scr_el3() & SCR_NS_BIT)); + bl1_arch_next_el_setup(); /* Tell next EL what we want done */ bl2_ep->args.arg0 = RUN_IMAGE; - if (GET_SECURITY_STATE(bl2_ep->h.attr) == NON_SECURE) - change_security_state(GET_SECURITY_STATE(bl2_ep->h.attr)); - write_spsr_el3(bl2_ep->spsr); write_elr_el3(bl2_ep->pc); |