On Wed, 27 May 2020 at 22:42, Jarkko Sakkinen jarkko.sakkinen@linux.intel.com wrote:
On Mon, 2020-05-25 at 09:50 +0300, Maxim Uvarov wrote:
Jakko, tee-supplicant application provides state machine over callbacks with RPC messages. https://github.com/OP-TEE/optee_client/blob/master/tee-supplicant/src/tee_su... It also allocates shm. Without running tee-supplicant tee_client_open_session() will fail. optee_open_session()->get_msg_arg()->tee_shm_alloc()->... Optee team wanted to remove some dependencies from tee-supplicant with moving code to the kernel. But for now I think that should be out of the scope of current patches due to they fix driver initialization on tee bus without breaking current functionality.
So what is the role in high-level for tee-supplicant? Why does it exist? No time to dive into code unfortunately.
Original implementation for tee-supplicant does several things: 1. allocate shm 2. load ta from user space (fs file) 3. emulate rpmb 4. also there are some ftrace and socket functions which I did not use.
As I I understand, current implementation uses tee-supplicant and it's library as API from user land to Trusted OS.
Some docs can be found here: https://optee.readthedocs.io/en/latest/architecture/index.html
These kernel commits do not explain in simple terms enough how all of these entities connect with each other, if you don't have that understanding beforehand.
Yes, that is true. But I think it's something new and good docs will be some time later.
/Jarkko
Regards, Maxim.