diff options
author | Achin Gupta <achin.gupta@arm.com> | 2015-11-10 13:46:00 +0000 |
---|---|---|
committer | Achin Gupta <achin.gupta@arm.com> | 2015-11-10 13:46:00 +0000 |
commit | 613b7e5e7e8a80a42b1bc017e7a4638aea25ec00 (patch) | |
tree | add7ac070d8bb3103d2417820ace620ae4a92539 /bl31 | |
parent | 4266228306de468dff34609581474f2f43d781fa (diff) | |
parent | 5c943f7f4dfa7f264d8a5c5caa37eb045f55a67b (diff) |
Merge pull request #424 from jcastillo-arm/jc/tf-issues/327
IMF: postpone SCR_EL3 update if context is not initialized
Diffstat (limited to 'bl31')
-rw-r--r-- | bl31/interrupt_mgmt.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/bl31/interrupt_mgmt.c b/bl31/interrupt_mgmt.c index 5478902f..206578b4 100644 --- a/bl31/interrupt_mgmt.c +++ b/bl31/interrupt_mgmt.c @@ -129,7 +129,12 @@ static void set_scr_el3_from_rm(uint32_t type, flag = get_interrupt_rm_flag(interrupt_type_flags, security_state); bit_pos = plat_interrupt_type_to_line(type, security_state); intr_type_descs[type].scr_el3[security_state] = flag << bit_pos; - cm_write_scr_el3_bit(security_state, bit_pos, flag); + + /* Update scr_el3 only if there is a context available. If not, it + * will be updated later during context initialization which will obtain + * the scr_el3 value to be used via get_scr_el3_from_routing_model() */ + if (cm_get_context(security_state)) + cm_write_scr_el3_bit(security_state, bit_pos, flag); } /******************************************************************************* |