aboutsummaryrefslogtreecommitdiff
path: root/services/spd
diff options
context:
space:
mode:
authorMihir Joshi <mihirj@nvidia.com>2018-01-22 14:02:16 -0800
committerVarun Wadekar <vwadekar@nvidia.com>2019-01-31 08:46:54 -0800
commit7bc05f52ddf7ebef9dda595117893b4267a2f84e (patch)
treed4697c66934ae913980e223147770fbcb836e7f7 /services/spd
parentd16b045c5648ace7573ced3c58b61ab1e54244fd (diff)
downloadtrusted-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.c15
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;
}