tree: 902bff6d6f0b708aa3f96a7c38a66ccfc07ef113 [path history] [tgz]
  1. config/
  2. entry_points/
  3. noop/
  4. panic/
  5. read_props/
  6. abi.ifs
  7. BUILD.gn
  8. README.md
  9. ta.gni
src/microfuchsia/tee/ta/README.md

TA

This directory contains Trusted Application (TA) implementations and build rules.

Examples

  • noop - All entry points are no-ops

  • panic - All entry points panic

Build rules and linking

TAs are compiled against the TEE Internal API headers in //src/microfuchsia/tee/tee_internal_api/include.

TAs are linked as shared libraries against the interface definition in //src/microfuchsia/tee/tee_internal_api/libtee_internal.ifs which enumerates the symbols that are (intentionally) exported from the runtime.

The symbols exported by the TA itself are further verified to consist of the official entrypoints (see //src/microfuchsia/tee/ta/abi.ifs).

Packaging

TAs are included in a Fuchsia package as a regular shared library. The file ‘config/ta_name’ is also included in this package so that the loader (not yet implemented) can determine the name of the library from a well-known path. This is subject to change depending on how we structure the runtime and TA loading.