# 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.