1Trusty Dispatcher
2=================
3
4Trusty is a a set of software components, supporting a Trusted Execution
5Environment (TEE) on mobile devices, published and maintained by Google.
6
7Detailed information and build instructions can be found on the Android
8Open Source Project (AOSP) webpage for Trusty hosted at
9https://source.android.com/security/trusty
10
11Build flags
12-----------
13
14The ``TRUSTY_SPD_WITH_SHARED_MEM`` build flag controls whether Trusty SPD
15is built with memory sharing support.
16
17The ``TRUSTY_SPD_WITH_GENERIC_SERVICES`` build flag controls whether
18Trusty SPD supports smc calls to return gic base address and print to
19the debug console.
20
21
22C flags
23-----------
24
25On platforms which use ATF BL2, Trusty is already mapped in.
26If the dynamic mapping function is available, it will fail on a range
27overlap, and it may not be enabled by default on all platforms.
28As a result, we only enable premapping for the Tegra platform, using
29the ``LATE_MAPPED_BL32`` CFLAG
30
31Boot parameters
32---------------
33
34Custom boot parameters can be passed to Trusty by providing a platform
35specific function:
36
37.. code:: c
38
39    void plat_trusty_set_boot_args(aapcs64_params_t *args)
40
41If this function is provided ``args->arg0`` must be set to the memory
42size allocated to trusty. If the platform does not provide this
43function, but defines ``TSP_SEC_MEM_SIZE``, a default implementation
44will pass the memory size from ``TSP_SEC_MEM_SIZE``. ``args->arg1``
45can be set to a platform specific parameter block, and ``args->arg2``
46should then be set to the size of that block.
47
48Platform hooks
49--------------
50
51Sharing memory using the Trusty SPD requires the ``plat_mem_set_shared()``
52function to be implemented. This function is documented in the header file
53services/spd/trusty/include/trusty/plat/shared_mem.h
54
55
56Supported platforms
57-------------------
58
59Out of all the platforms supported by Trusted Firmware-A, Trusty is only
60verified and supported by NVIDIA's Tegra SoCs.
61