mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-11 07:04:22 +00:00
feat(rmmd): verify FEAT_MEC present before calling plat hoook
Some platforms do not support FEAT_MEC. Hence, they do not provide an interface to update the update of the key corresponding to a MECID. This patch adds a condition in order to verify FEAT_MEC is present before calling the corresponding platform hook, thus preventing it from being called when the platform does not support the feature. Change-Id: Ib1eb9e42f475e27ec31529569e888b93b207148c Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
This commit is contained in:
parent
b78c307ca6
commit
609ada9691
3 changed files with 11 additions and 2 deletions
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Add table
Reference in a new issue