History

tee: tstee: Add Trusted Services TEE driver

The Trusted Services project provides a framework for developing and deploying device Root of Trust services in FF-A Secure Partitions. The FF-A SPs are accessible through the FF-A driver, but this doesn't provide a user space interface. The goal of this TEE driver is to make Trusted Services SPs accessible for user space clients. All TS SPs have the same FF-A UUID, it identifies the RPC protocol used by TS. A TS SP can host one or more services, a service is identified by its service UUID. The same type of service cannot be present twice in the same SP. During SP boot each service in an SP is assigned an interface ID, this is just a short ID to simplify message addressing. There is 1:1 mapping between TS SPs and TEE devices, i.e. a separate TEE device is registered for each TS SP. This is required since contrary to the generic TEE design where memory is shared with the whole TEE implementation, in case of FF-A, memory is shared with a specific SP. A user space client has to be able to separately share memory with each SP based on its endpoint ID.

Balint Dobszay committed 2 years ago

Commit c835e5a1 parent cf444157 files · +589 −0Browse files

Showing the changes to include/uapi (1 of 7 files). Show all

Unified · Split

include/uapi/linux/tee.h+1−0
@@ -56,6 +56,7 @@ · 55 unmodified lines
5656 */
5757 #define TEE_IMPL_ID_OPTEE 1
5858 #define TEE_IMPL_ID_AMDTEE 2
59+#define TEE_IMPL_ID_TSTEE 3
5960
6061 /*
6162 * OP-TEE specific capabilities