Browse Source

Merge "fix(rmmd): enable sme using sme_enable_per_world" into integration

pull/1993/merge
Soby Mathew 1 year ago
committed by TrustedFirmware Code Review
parent
commit
93823fb6ec
  1. 15
      services/std_svc/rmmd/rmmd_main.c

15
services/std_svc/rmmd/rmmd_main.c

@ -125,17 +125,13 @@ static void manage_extensions_realm(cpu_context_t *ctx)
pmuv3_enable(ctx);
/*
* If SME/SME2 is supported and enabled for NS world, then enables SME
* for Realm world. RMM will save/restore required registers that are
* shared with SVE/FPU so that Realm can use FPU or SVE.
* Enable access to TPIDR2_EL0 if SME/SME2 is enabled for Non Secure world.
*/
if (is_feat_sme_supported()) {
/* sme_enable() also enables SME2 if supported by hardware */
sme_enable(ctx);
}
}
#if IMAGE_BL31
static void manage_extensions_realm_per_world(void)
{
if (is_feat_sve_supported()) {
@ -152,8 +148,15 @@ static void manage_extensions_realm_per_world(void)
sys_reg_trace_disable_per_world(&per_world_context[CPU_CONTEXT_REALM]);
}
/*
* If SME/SME2 is supported and enabled for NS world, then disable trapping
* of SME instructions for Realm world. RMM will save/restore required
* registers that are shared with SVE/FPU so that Realm can use FPU or SVE.
*/
if (is_feat_sme_supported()) {
sme_enable_per_world(&per_world_context[CPU_CONTEXT_REALM]);
}
}
#endif /* IMAGE_BL31 */
/*******************************************************************************
* Jump to the RMM for the first time.

Loading…
Cancel
Save