diff --git a/lib/el3_runtime/aarch32/context_mgmt.c b/lib/el3_runtime/aarch32/context_mgmt.c index 6915ded..bc5f9c4 100644 --- a/lib/el3_runtime/aarch32/context_mgmt.c +++ b/lib/el3_runtime/aarch32/context_mgmt.c @@ -86,6 +86,8 @@ /* Clear any residual register values from the context */ memset(ctx, 0, sizeof(*ctx)); + reg_ctx = get_regs_ctx(ctx); + /* * Base the context SCR on the current value, adjust for entry point * specific requirements @@ -121,8 +123,6 @@ if (GET_M32(ep->spsr) == MODE32_hyp) scr |= SCR_HCE_BIT; - reg_ctx = get_regs_ctx(ctx); - write_ctx_reg(reg_ctx, CTX_SCR, scr); write_ctx_reg(reg_ctx, CTX_LR, ep->pc); write_ctx_reg(reg_ctx, CTX_SPSR, ep->spsr);