~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/tee.rst

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 .. tee:
  3 
  4 ==================================================
  5 TEE (Trusted Execution Environment) Userspace API
  6 ==================================================
  7 
  8 include/uapi/linux/tee.h defines the generic interface to a TEE.
  9 
 10 User space (the client) connects to the driver by opening /dev/tee[0-9]* or
 11 /dev/teepriv[0-9]*.
 12 
 13 - TEE_IOC_SHM_ALLOC allocates shared memory and returns a file descriptor
 14   which user space can mmap. When user space doesn't need the file
 15   descriptor any more, it should be closed. When shared memory isn't needed
 16   any longer it should be unmapped with munmap() to allow the reuse of
 17   memory.
 18 
 19 - TEE_IOC_VERSION lets user space know which TEE this driver handles and
 20   its capabilities.
 21 
 22 - TEE_IOC_OPEN_SESSION opens a new session to a Trusted Application.
 23 
 24 - TEE_IOC_INVOKE invokes a function in a Trusted Application.
 25 
 26 - TEE_IOC_CANCEL may cancel an ongoing TEE_IOC_OPEN_SESSION or TEE_IOC_INVOKE.
 27 
 28 - TEE_IOC_CLOSE_SESSION closes a session to a Trusted Application.
 29 
 30 There are two classes of clients, normal clients and supplicants. The latter is
 31 a helper process for the TEE to access resources in Linux, for example file
 32 system access. A normal client opens /dev/tee[0-9]* and a supplicant opens
 33 /dev/teepriv[0-9].
 34 
 35 Much of the communication between clients and the TEE is opaque to the
 36 driver. The main job for the driver is to receive requests from the
 37 clients, forward them to the TEE and send back the results. In the case of
 38 supplicants the communication goes in the other direction, the TEE sends
 39 requests to the supplicant which then sends back the result.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php