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