mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-20 11:34:20 +00:00
fix(cpufeat): add feat_hcx check before enabling FEAT_MOPS
This patch also checks for FEAT_HCX before enabling FEAT_MOPS when INIT_UNUSED_NS_EL1 = 1 and adds build dependency check. Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: Iff4a068aa392fc8d29e2e4da7a2e7df0b3104e65
This commit is contained in:
parent
a7d150757f
commit
484befbfcb
2 changed files with 9 additions and 1 deletions
8
Makefile
8
Makefile
|
@ -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)
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue