Merge "fix(cpufeat): add feat_hcx check before enabling FEAT_MOPS" into integration

This commit is contained in:
Govindraj Raja 2025-03-17 19:50:52 +01:00 committed by TrustedFirmware Code Review
commit 4e2a88a554
2 changed files with 9 additions and 1 deletions

View file

@ -1021,6 +1021,14 @@ ifeq (${ENABLE_SVE_FOR_SWD},1)
endif endif
endif endif
# Enabling FEAT_MOPS requires access to hcrx_el2 registers which is
# available only when FEAT_HCX is enabled.
ifneq (${ENABLE_FEAT_MOPS},0)
ifeq (${ENABLE_FEAT_HCX},0)
$(error "ENABLE_FEAT_MOPS requires ENABLE_FEAT_HCX")
endif
endif
# Enabling SVE for both the worlds typically requires the context # Enabling SVE for both the worlds typically requires the context
# management of SVE registers. The only exception being SPMC at S-EL2. # management of SVE registers. The only exception being SPMC at S-EL2.
ifeq (${ENABLE_SVE_FOR_SWD}, 1) ifeq (${ENABLE_SVE_FOR_SWD}, 1)

View file

@ -905,7 +905,7 @@ static void manage_extensions_nonsecure_el2_unused(void)
sme_init_el2_unused(); sme_init_el2_unused();
} }
if (is_feat_mops_supported()) { if (is_feat_mops_supported() && is_feat_hcx_supported()) {
write_hcrx_el2(read_hcrx_el2() | HCRX_EL2_MSCEn_BIT); write_hcrx_el2(read_hcrx_el2() | HCRX_EL2_MSCEn_BIT);
} }