Merge "feat(rmmd): verify FEAT_MEC present before calling plat hoook" into integration

This commit is contained in:
Soby Mathew 2025-03-26 17:39:57 +01:00 committed by TrustedFirmware Code Review
commit ca3f2eee11
3 changed files with 11 additions and 2 deletions

View file

@ -399,7 +399,7 @@ int plat_rmmd_el3_token_sign_pull_resp(struct el3_token_sign_response *resp);
size_t plat_rmmd_get_el3_rmm_shared_mem(uintptr_t *shared);
int plat_rmmd_load_manifest(struct rmm_manifest *manifest);
int plat_rmmd_mecid_key_update(uint16_t mecid);
#endif
#endif /* ENABLE_RME */
/*******************************************************************************
* Optional BL31 functions (may be overridden)

View file

@ -193,7 +193,8 @@ int plat_rmmd_load_manifest(struct rmm_manifest *manifest)
int plat_rmmd_mecid_key_update(uint16_t mecid)
{
/*
* TODO
* RDV3 does not support FEAT_MEC.
* This empty hook is for compilation to succeed.
*/
return 0;
}

View file

@ -478,6 +478,14 @@ static int rmmd_mecid_key_update(uint64_t mecid)
uint64_t mecid_width, mecid_width_mask;
int ret;
/*
* Check whether FEAT_MEC is supported by the hardware. If not, return
* unknown SMC.
*/
if (is_feat_mec_supported() == false) {
return E_RMM_UNK;
}
/*
* Check whether the mecid parameter is at most MECIDR_EL2.MECIDWidthm1 + 1
* in length.