u-boot/lib/trusty/ql-tipc
Ji Luo e29e4022c5 MA-13904 [Trusty] Pass root trust to keymaster service
Pass the verified boot key hash to keymaster, it will be
treated as the root trust in keymaster service.
Also set the 'initialized' flag after initializing the
keymaster client or set keymaster boot parameters will fail.

Test: Pass CTS cases:
      android.keystore.cts.KeyAttestationTest#testRsaAttestation
      android.keystore.cts.KeyAttestationTest#testEcAttestation

Change-Id: I486b5493826160f42c61a3da0e6cd769df92254d
Signed-off-by: Ji Luo <ji.luo@nxp.com>
2019-01-08 16:04:05 +08:00
..
arch/arm ql-tipc: Compile fixes 2018-11-12 09:18:36 +08:00
sysdeps ql-tipc: sysdeps.h: separate memory allocation from getting attributes 2018-11-12 09:18:35 +08:00
LICENSE
Makefile MA-13233 [trusty] Add service 'hwcrypto' 2018-11-02 20:50:08 -05:00
README.md
avb.c MA-13904 [Trusty] Pass root trust to keymaster service 2019-01-08 16:04:05 +08:00
hwcrypto.c MA-13831-3 [trusty] Add command to generate rng with CAAM 2018-12-24 09:13:37 +08:00
ipc.c ql-tipc: trusty_ipc: Change ipc polling to be per device 2018-11-12 09:18:35 +08:00
ipc_dev.c ql-tipc: sysdeps.h: separate memory allocation from getting attributes 2018-11-12 09:18:35 +08:00
keymaster.c MA-13904 [Trusty] Pass root trust to keymaster service 2019-01-08 16:04:05 +08:00
keymaster_serializable.c
libtipc.c MA-13759-1 imx8mm: Enable trusty support 2018-12-12 21:02:10 +08:00
rpmb_proxy.c MA-13738 [Trusty] Fix null pointer error 2018-12-10 17:58:24 +08:00
util.c

README.md

Queueless Trusty IPC

ql-tipc is a portable client library that implements Trusty queueless IPC. It is intended to enable Trusty IPC in bootloader environments.

Code organization

IPC components

  • libtipc - Functions to be called by library user
  • ipc - IPC library
  • ipc_dev - Helper functions for sending requests to the secure OS
  • rpmb_proxy - Handles RPMB requests from secure storage service
  • avb - Sends requests to the Android Verified Boot service

Misc

  • examples/ - Implementations of bootloader-specific code.
  • arch/$ARCH/ - Architecture dependent implementation of Trusty device (see trusty_dev.h). Implements SMCs on ARM for example.

Portability Notes

The suggested approach to porting ql-tipc is to copy all header and C files into the bootloader and integrate as needed. RPMB storage operations and functions defined in trusty/sysdeps.h require system dependent implementations.

If the TIPC_ENABLE_DEBUG preprocessor symbol is set, the code will include debug information and run-time checks. Production builds should not use this.