tee: define session login identifiers

Define identifiers for clnt_login field in struct tee_open_session_arg
based in GlobalPlatform Device TEE IDs and on the REE_KERNEL identifier
extension from OP-TEE OS.

Cc: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
This commit is contained in:
Etienne Carriere 2021-11-09 17:08:20 +01:00 committed by Tom Rini
parent 32190a959d
commit 1662ed0c1a

View file

@ -31,6 +31,25 @@
#define TEE_PARAM_ATTR_MASK (TEE_PARAM_ATTR_TYPE_MASK | \
TEE_PARAM_ATTR_META)
/*
* Global Platform login identifiers for tee_open_session_arg::clnt_login
*/
#define TEE_LOGIN_PUBLIC 0x00000000
#define TEE_LOGIN_USER 0x00000001
#define TEE_LOGIN_GROUP 0x00000002
#define TEE_LOGIN_APPLICATION 0x00000004
#define TEE_LOGIN_APPLICATION_USER 0x00000005
#define TEE_LOGIN_APPLICATION_GROUP 0x00000006
/*
* Reserve use of GP implementation specific login method range
* (0x80000000 - 0xBFFFFFFF). This range is rather being used
* for REE kernel clients or TEE implementation.
*/
#define TEE_LOGIN_REE_KERNEL_MIN 0x80000000
#define TEE_LOGIN_REE_KERNEL_MAX 0xBFFFFFFF
/* Private login method for REE kernel/privileged clients */
#define TEE_LOGIN_REE_KERNEL 0x80000000
/*
* Some Global Platform error codes which has a meaning if the
* TEE_GEN_CAP_GP bit is returned by the driver in
@ -135,8 +154,8 @@ struct tee_param {
/**
* struct tee_open_session_arg - extra arguments for tee_open_session()
* @uuid: [in] UUID of the Trusted Application
* @clnt_uuid: [in] Normally zeroes
* @clnt_login: [in] Normally 0
* @clnt_uuid: [in] UUID of client, zeroes for PUBLIC/REE_KERNEL
* @clnt_login: [in] Class of client TEE_LOGIN_*
* @session: [out] Session id
* @ret: [out] return value
* @ret_origin: [out] origin of the return value