README.md
1# Queueless Trusty IPC
2
3ql-tipc is a portable client library that implements Trusty queueless IPC.
4It is intended to enable Trusty IPC in bootloader environments.
5
6## Code organization
7
8### IPC components
9
10- libtipc - Functions to be called by library user
11- ipc - IPC library
12- ipc_dev - Helper functions for sending requests to the secure OS
13- rpmb_proxy - Handles RPMB requests from secure storage service
14- avb - Sends requests to the Android Verified Boot service
15
16### Misc
17
18- examples/ - Implementations of bootloader-specific code.
19- arch/$ARCH/ - Architecture dependent implementation of Trusty device
20 (see trusty_dev.h). Implements SMCs on ARM for example.
21
22## Portability Notes
23
24The suggested approach to porting ql-tipc is to copy all header and C files
25into the bootloader and integrate as needed. RPMB storage operations and
26functions defined in trusty/sysdeps.h require system dependent implementations.
27
28If the TIPC_ENABLE_DEBUG preprocessor symbol is set, the code will include
29debug information and run-time checks. Production builds should not use this.
30
31