31 lines
1.1 KiB
Markdown
31 lines
1.1 KiB
Markdown
# 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.
|
|
|