Commit 0e1f9e31 authored by Varun Wadekar's avatar Varun Wadekar
Browse files

spd: trusty: add SET_ROT_PARAMS handling



If Trusty is not running on the device, then Verified Boot is
not supported and the NS layer will fail gracefully later during
boot. This patch just returns success for the case when Trusty is
not running on the device and the bootloader issues SET_ROT_PARAMS
call during boot, so that we can at least boot non-Android images.

Change-Id: I40fc249983df80fb8cc5be5e4ce94c99d5b5f17d
Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
parent 26670c82
...@@ -94,5 +94,6 @@ ...@@ -94,5 +94,6 @@
#define SMC_SC_VDEV_RESET SMC_STDCALL_NR(SMC_ENTITY_TRUSTED_OS, 23) #define SMC_SC_VDEV_RESET SMC_STDCALL_NR(SMC_ENTITY_TRUSTED_OS, 23)
#define SMC_SC_VDEV_KICK_VQ SMC_STDCALL_NR(SMC_ENTITY_TRUSTED_OS, 24) #define SMC_SC_VDEV_KICK_VQ SMC_STDCALL_NR(SMC_ENTITY_TRUSTED_OS, 24)
#define SMC_SC_SET_ROT_PARAMS SMC_STDCALL_NR(SMC_ENTITY_TRUSTED_OS, 65535)
#endif /* __LIB_SM_SMCALL_H */ #endif /* __LIB_SM_SMCALL_H */
...@@ -237,6 +237,18 @@ static uint64_t trusty_smc_handler(uint32_t smc_fid, ...@@ -237,6 +237,18 @@ static uint64_t trusty_smc_handler(uint32_t smc_fid,
{ {
struct args ret; struct args ret;
uint32_t vmid = 0; uint32_t vmid = 0;
entry_point_info_t *ep_info = bl31_plat_get_next_image_ep_info(SECURE);
/*
* Return success for SET_ROT_PARAMS if Trusty is not present, as
* Verified Boot is not even supported and returning success here
* would not compromise the boot process.
*/
if (!ep_info && (smc_fid == SMC_SC_SET_ROT_PARAMS)) {
SMC_RET1(handle, 0);
} else if (!ep_info) {
SMC_RET1(handle, SMC_UNK);
}
if (is_caller_secure(flags)) { if (is_caller_secure(flags)) {
if (smc_fid == SMC_SC_NS_RETURN) { if (smc_fid == SMC_SC_NS_RETURN) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment