u-boot/lib/trusty/ql-tipc
Luo Ji a37a72c84f MA-13357 [Trusty] Init hwcrypto service even rpmb key not set
RPMB storage proxy service will return fail if the rpmb key is not
correct, we should not return early here if the rpmb key has not
been set because we still need to initialize the hwcrypto service
to generate the rpmb key blob.
This commit also adds more hint when set the rpmb key.

Change-Id: I8ee59e4e277b545283d63b1070e671d508dbe0c2
Signed-off-by: Luo Ji <ji.luo@nxp.com>
2018-11-09 16:26:24 +08:00
..
arch/arm
sysdeps MA-12698 Check NULL pointer in secure storage proxy 2018-09-13 14:51:00 +08:00
LICENSE
Makefile MA-13233 [trusty] Add service 'hwcrypto' 2018-11-02 20:50:08 -05:00
README.md
avb.c
hwcrypto.c MA-13276 [Auto] Generate key blob when set the rpmb key 2018-11-02 20:50:09 -05:00
ipc.c
ipc_dev.c
keymaster.c MA-11015-2 Don't access tipc before keymaster init 2018-09-12 18:12:13 +08:00
keymaster_serializable.c
libtipc.c MA-13357 [Trusty] Init hwcrypto service even rpmb key not set 2018-11-09 16:26:24 +08:00
rpmb_proxy.c
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.