diff options
author | danh-arm <dan.handley@arm.com> | 2015-04-01 11:36:08 +0100 |
---|---|---|
committer | danh-arm <dan.handley@arm.com> | 2015-04-01 11:36:08 +0100 |
commit | 874cd37f0bd78e7fc9c6b452f9b5331e89d0284e (patch) | |
tree | b637ec9a0b04e3405b0dbdc6e470776bdb55c013 /docs | |
parent | 7e2d659e130e91142a4e32a0884265fb551291b6 (diff) | |
parent | 0a34d1e6df4904a42a4b441530b4fd89735245e3 (diff) |
Merge pull request #280 from vwadekar/tlkd-fixed-v3
TLK dispatcher
Diffstat (limited to 'docs')
-rw-r--r-- | docs/tlk-dispatcher.md | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/docs/tlk-dispatcher.md b/docs/tlk-dispatcher.md new file mode 100644 index 0000000..a2212b5 --- /dev/null +++ b/docs/tlk-dispatcher.md @@ -0,0 +1,59 @@ +Trusted Little Kernel (TLK) Dispatcher +======================================= +TLK dispatcher adds support for NVIDIA's Trusted Little Kernel (TLK) to work +with the Trusted Firmware. TLK-D can be compiled by including it in the +platform's makefile. TLK is primarily meant to work with Tegra SoCs, so until +Trusted Firmware starts supporting Tegra, the dispatcher code can only be +compiled for other platforms. + +In order to compile TLK-D, we need a BL32 image to be present. Since, TLKD +just needs to compile, any BL32 image would do. To use TLK as the BL32, please +refer to the "Build TLK" section. + +Once a BL32 is ready, TLKD can be compiled using the following command: + +CROSS_COMPILE=<path_to_linaro_chain>/bin/aarch64-none-elf- make NEED_BL1=0 +NEED_BL2=0 BL32=<path_to_BL32_image> PLAT=<platform> all +_ +Trusted Little Kernel (TLK) +=========================== +TLK is a Trusted OS running as Secure EL1. It is a Free Open Source Software +(FOSS) release of the NVIDIA® Trusted Little Kernel (TLK) technology, which +extends technology made available with the development of the Little Kernel (LK). +You can download the LK modular embedded preemptive kernel for use on ARM, +x86, and AVR32 systems from https://github.com/travisg/lk + +NVIDIA implemented its Trusted Little Kernel (TLK) technology, designed as a +free and open-source trusted execution environment (OTE). + +TLK features include: + +• Small, pre-emptive kernel +• Supports multi-threading, IPCs, and thread scheduling +• Added TrustZone features +• Added Secure Storage +• Under MIT/FreeBSD license + +NVIDIA extensions to Little Kernel (LK) include: + +• User mode +• Address-space separation for TAs +• TLK Client Application (CA) library +• TLK TA library +• Crypto library (encrypt/decrypt, key handling) via OpenSSL +• Linux kernel driver +• Cortex A9/A15 support +• Power Management +• TrustZone memory carve-out (reconfigurable) +• Page table management +• Debugging support over UART (USB planned) + +TLK is hosted by NVIDIA on http://nv-tegra.nvidia.com under the +3rdparty/ote_partner/tlk.git repository. Detailed information about +TLK and OTE can be found in the Tegra_BSP_for_Android_TLK_FOSS_Reference.pdf +manual located under the "documentation" directory_. + +Build TLK +========= +To build and execute TLK, follow the instructions from "Building a TLK Device" +section from Tegra_BSP_for_Android_TLK_FOSS_Reference.pdf manual. |