android_kernel_oneplus_msm8998/Documentation/misc-devices/qcom_invoke_driver.txt
Dinesh K Garg 879d57ac66 msm: mink: Adding SMCInvoke Driver
SMCInvoke driver is a misc driver to support communication between
secure and non-secure world, based on new capability based model.
Earlier, QSEECom driver had several problems such as exposing many
interfaces to accomplish various tasks on secure world side. Ideally,
driver should work as transparent as possible and provide just
tunnel to communicate between secure and non secure world. SMCInvoke
driver aims to achieve that.

Change-Id: I439f8ad817ba66210c934115979c276577194c11
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
2016-08-20 19:04:33 -07:00

56 lines
1.7 KiB
Text

Introduction:
=============
Invoke driver is a misc driver which helps communication between non secure
and secure world. Invoke driver communicates with secure side using SCM
driver. To use invoke driver, open must be called on invoke device i.e.
/dev/invoke. Invoke driver exposes only one IOCTL invoke which passes
userspace request to TZ.
SW Architecture
===============
Following is SW stack for Invoke driver.
+++++++++++++++++++++++++++++++++++++++++
+ Applications +
+++++++++++++++++++++++++++++++++++++++++
+ System Layer +
+++++++++++++++++++++++++++++++++++++++++
+ Kernel +
+ +++++++++++++++++++ +
+ + Invoke driver + +
+ +++++++++++++++++++ +
+ + SCM Driver + +
+++++++++++++++++++++++++++++++++++++++++
||
||
\/
+++++++++++++++++++++++++++++++++++++++++
+ Trust Zone +
+ +++++++++++ +++++++++++ +
+ + TZ App1 + + TZ App2 + +
+++++++++++++++++++++++++++++++++++++++++
Interfaces
==========
Invoke driver exposes INVOKE_IOCTL_INVOKE_REQ IOCTL for userspace to
communicate with driver. More details of IOCTL are avilable in
corresponding header file.
Driver Parameters
=================
This driver is built and statically linked into the kernel; therefore,
there are no module parameters supported by this driver.
There are no kernel command line parameters supported by this driver.
Power Management
================
TBD
Dependencies
============
Invoke driver depends on SCM driver to communicate with TZ.