diff options
-rw-r--r-- | lib/el3_runtime/aarch64/context_mgmt.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/lib/el3_runtime/aarch64/context_mgmt.c b/lib/el3_runtime/aarch64/context_mgmt.c index dab25d681..341c4a5d0 100644 --- a/lib/el3_runtime/aarch64/context_mgmt.c +++ b/lib/el3_runtime/aarch64/context_mgmt.c @@ -805,30 +805,26 @@ void cm_prepare_el3_exit(uint32_t security_state) static void el2_sysregs_context_save_fgt(el2_sysregs_t *ctx) { - if (is_feat_fgt_supported()) { - write_ctx_reg(ctx, CTX_HDFGRTR_EL2, read_hdfgrtr_el2()); - if (is_feat_amu_supported()) { - write_ctx_reg(ctx, CTX_HAFGRTR_EL2, read_hafgrtr_el2()); - } - write_ctx_reg(ctx, CTX_HDFGWTR_EL2, read_hdfgwtr_el2()); - write_ctx_reg(ctx, CTX_HFGITR_EL2, read_hfgitr_el2()); - write_ctx_reg(ctx, CTX_HFGRTR_EL2, read_hfgrtr_el2()); - write_ctx_reg(ctx, CTX_HFGWTR_EL2, read_hfgwtr_el2()); + write_ctx_reg(ctx, CTX_HDFGRTR_EL2, read_hdfgrtr_el2()); + if (is_feat_amu_supported()) { + write_ctx_reg(ctx, CTX_HAFGRTR_EL2, read_hafgrtr_el2()); } + write_ctx_reg(ctx, CTX_HDFGWTR_EL2, read_hdfgwtr_el2()); + write_ctx_reg(ctx, CTX_HFGITR_EL2, read_hfgitr_el2()); + write_ctx_reg(ctx, CTX_HFGRTR_EL2, read_hfgrtr_el2()); + write_ctx_reg(ctx, CTX_HFGWTR_EL2, read_hfgwtr_el2()); } static void el2_sysregs_context_restore_fgt(el2_sysregs_t *ctx) { - if (is_feat_fgt_supported()) { - write_hdfgrtr_el2(read_ctx_reg(ctx, CTX_HDFGRTR_EL2)); - if (is_feat_amu_supported()) { - write_hafgrtr_el2(read_ctx_reg(ctx, CTX_HAFGRTR_EL2)); - } - write_hdfgwtr_el2(read_ctx_reg(ctx, CTX_HDFGWTR_EL2)); - write_hfgitr_el2(read_ctx_reg(ctx, CTX_HFGITR_EL2)); - write_hfgrtr_el2(read_ctx_reg(ctx, CTX_HFGRTR_EL2)); - write_hfgwtr_el2(read_ctx_reg(ctx, CTX_HFGWTR_EL2)); + write_hdfgrtr_el2(read_ctx_reg(ctx, CTX_HDFGRTR_EL2)); + if (is_feat_amu_supported()) { + write_hafgrtr_el2(read_ctx_reg(ctx, CTX_HAFGRTR_EL2)); } + write_hdfgwtr_el2(read_ctx_reg(ctx, CTX_HDFGWTR_EL2)); + write_hfgitr_el2(read_ctx_reg(ctx, CTX_HFGITR_EL2)); + write_hfgrtr_el2(read_ctx_reg(ctx, CTX_HFGRTR_EL2)); + write_hfgwtr_el2(read_ctx_reg(ctx, CTX_HFGWTR_EL2)); } /******************************************************************************* @@ -863,7 +859,9 @@ void cm_el2_sysregs_context_save(uint32_t security_state) el2_sysregs_context_save_mpam(el2_sysregs_ctx); #endif - el2_sysregs_context_save_fgt(el2_sysregs_ctx); + if (is_feat_fgt_supported()) { + el2_sysregs_context_save_fgt(el2_sysregs_ctx); + } #if ENABLE_FEAT_ECV el2_sysregs_context_save_ecv(el2_sysregs_ctx); @@ -921,7 +919,9 @@ void cm_el2_sysregs_context_restore(uint32_t security_state) el2_sysregs_context_restore_mpam(el2_sysregs_ctx); #endif - el2_sysregs_context_restore_fgt(el2_sysregs_ctx); + if (is_feat_fgt_supported()) { + el2_sysregs_context_restore_fgt(el2_sysregs_ctx); + } #if ENABLE_FEAT_ECV el2_sysregs_context_restore_ecv(el2_sysregs_ctx); |