OPTEED_MSG_COMMUNICATE (0x1) (Called from udomain):- If
tdomain’s shared memory is NOT valid, returnSBI_EINVAL. - Otherwise:
- Direction:
udomain-> OpenSBI - Copy the source data from
udomaintotdomain’s shared memory. - Call
sbi_ecall_tee_domain_enter()to switch totdomain. - Direction:
udomain->tdomain. - The entry point to be switched to is defined by the function type:
- Function type is defined by the first
unsigned longinudomain’s shared memory:((ulong *)shmem_base)[0]. - If function type is:
ABI_ENTRY_TYPE_FAST(i.e.ARM_SMCCC_FAST_CALL) - Entry point ⇒
entry_vector_table->fast_abi_entry entry_vector_table⇒thread_vector_tableis defined in OP-TEE. Therefore,entry_vector_table->fast_abi_entry⇒vector_fast_abi_entry()- Otherwise:
- Entry point ⇒
entry_vector_table->yield_abi_entry entry_vector_table⇒thread_vector_tableis defined in OP-TEE. Therefore,entry_vector_table->yield_abi_entry⇒vector_std_abi_entry()