u-boot/lib/trusty/ql-tipc
Yu Shan 65955f553b [iot] Support reading ATAP certificate UUID from keymaster
Add API and IPC calls to read the ATAP certificate UUID from keymaster.
Also rename const local variables to the standard convention.
This cherry-picked the CL 649562 from trusty/external/trusty.

Bug: 76211194

Change-Id: I98ab68180c3855e07884994dc20b879f0b59965d
Signed-off-by: Haoran.Wang <elven.wang@nxp.com>
2018-08-20 21:25:45 +08:00
..
arch/arm
sysdeps [iot] Refine ql-tipc Makefile to pass build 2018-08-20 21:25:42 +08:00
LICENSE
Makefile [iot] Refine ql-tipc Makefile to pass build 2018-08-20 21:25:42 +08:00
README.md
avb.c
ipc.c
ipc_dev.c
keymaster.c [iot] Support reading ATAP certificate UUID from keymaster 2018-08-20 21:25:45 +08:00
keymaster_serializable.c [iot] Update Trusty IPC code to latest 2018-08-20 21:25:42 +08:00
libtipc.c
rpmb_proxy.c [iot] Update Trusty IPC code to latest 2018-08-20 21:25:42 +08:00
util.c [iot] Update Trusty IPC code to latest 2018-08-20 21:25:42 +08:00

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.