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