u-boot/lib/trusty/ql-tipc
Ji Luo de975d8500 MA-13831-3 [trusty] Add command to generate rng with CAAM
Add new hwcrypto command to support rng generation with CAAM.

Test: rng generated on imx8qxp_mek.

Change-Id: I756f3e99423f0f9dfc2bcd30117a3f96e9f5f2f7
Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-12-24 09:14:31 +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-13629 [Trusty] Add commands to set vbmeta public key 2018-12-04 10:39:07 +08:00
hwcrypto.c MA-13831-3 [trusty] Add command to generate rng with CAAM 2018-12-24 09:14:31 +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 ql-tipc: trusty_ipc: Change ipc polling to be per device 2018-11-12 09:18:35 +08:00
keymaster_serializable.c
libtipc.c MA-13759-1 imx8mm: Enable trusty support 2018-12-12 21:36:46 +08:00
rpmb_proxy.c MA-13738 [Trusty] Fix null pointer error 2018-12-10 21:27:02 +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.