diff options
author | Mihir Joshi <mihirj@nvidia.com> | 2018-01-22 14:02:16 -0800 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2019-01-31 08:46:54 -0800 |
commit | 7bc05f52ddf7ebef9dda595117893b4267a2f84e (patch) | |
tree | d4697c66934ae913980e223147770fbcb836e7f7 /services/spd | |
parent | d16b045c5648ace7573ced3c58b61ab1e54244fd (diff) | |
download | trusted-firmware-a-7bc05f52ddf7ebef9dda595117893b4267a2f84e.tar.gz |
tlkd: support new TLK SMCs
This patch adds support to handle following TLK SMCs:
{TLK_SS_REGISTER_HANDLER, TLK_REGISTER_NS_DRAM_RANGES, TLK_SET_ROOT_OF_TRUST}
These SMCs need to be supported in ATF in order to forward them to
TLK. Otherwise, these functionalities won't work.
Brief:
TLK_SS_REGISTER_HANDLER: This SMC is issued by TLK Linux Driver to
set up secure storage buffers.
TLK_REGISTER_NS_DRAM_RANGES: Cboot performs this SMC during boot to
pass NS memory ranges to TLK.
TLK_SET_ROOT_OF_TRUST: Cboot performs this SMC during boot to pass
Verified Boot parameters to TLK.
Change-Id: I18af35f6dd6f510dfc22c1d1d1d07f643c7b82bc
Reviewed-on: https://git-master.nvidia.com/r/1643851
Signed-off-by: Mihir Joshi <mihirj@nvidia.com>
Diffstat (limited to 'services/spd')
-rw-r--r-- | services/spd/tlkd/tlkd_main.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/services/spd/tlkd/tlkd_main.c b/services/spd/tlkd/tlkd_main.c index b1a04776cc..f6f2af52fc 100644 --- a/services/spd/tlkd/tlkd_main.c +++ b/services/spd/tlkd/tlkd_main.c @@ -195,14 +195,18 @@ static uintptr_t tlkd_smc_handler(uint32_t smc_fid, * b. register shared memory with the SP for passing args * required for maintaining sessions with the Trusted * Applications. - * c. register non-secure world's memory map with the OS - * d. open/close sessions - * e. issue commands to the Trusted Apps - * f. resume the preempted yielding SMC call. + * c. register shared persistent buffers for secure storage + * d. register NS DRAM ranges passed by Cboot + * e. register Root of Trust parameters from Cboot for Verified Boot + * f. open/close sessions + * g. issue commands to the Trusted Apps + * h. resume the preempted yielding SMC call. */ case TLK_REGISTER_LOGBUF: case TLK_REGISTER_REQBUF: - case TLK_REGISTER_NS_DRAM: + case TLK_SS_REGISTER_HANDLER: + case TLK_REGISTER_NS_DRAM_RANGES: + case TLK_SET_ROOT_OF_TRUST: case TLK_OPEN_TA_SESSION: case TLK_CLOSE_TA_SESSION: case TLK_TA_LAUNCH_OP: @@ -400,6 +404,7 @@ static uintptr_t tlkd_smc_handler(uint32_t smc_fid, SMC_RET2(handle, TLK_VERSION_MAJOR, TLK_VERSION_MINOR); default: + WARN("%s: Unhandled SMC: 0x%x\n", __func__, smc_fid); break; } |