Lines Matching +full:non +full:- +full:secure
1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */
3 * Copyright (c) 2015-2019, Linaro Limited
12 * This file defines the OP-TEE message protocol (ABI) used to communicate
13 * with an instance of OP-TEE running in secure world.
18 * 3. Requests from secure world, Remote Procedure Call (RPC), handled by
19 * tee-supplicant.
23 * Part 1 - formatting of messages
40 * Meta parameter to be absorbed by the Secure OS and not passed
48 * Pointer to a list of pages used to register user-defined SHM buffer.
51 * list of page addresses. OP-TEE core can reconstruct contiguous buffer from
63 * uint64_t pages_array[OPTEE_MSG_NONCONTIG_PAGE_SIZE/sizeof(uint64_t) - 1];
97 * Page size used in non-contiguous buffer entries
102 * struct optee_msg_param_tmem - temporary memory reference parameter
107 * Secure and normal world communicates pointers as physical address
108 * instead of the virtual address. This is because secure and normal world
112 * structure to secure world.
121 * struct optee_msg_param_rmem - registered memory reference parameter
133 * struct optee_msg_param_value - opaque value parameter
135 * Value parameters are passed unchecked between normal and secure world.
144 * struct optee_msg_param - parameter used together with struct optee_msg_arg
168 * struct optee_msg_arg - call argument
208 * OPTEE_MSG_GET_ARG_SIZE - return size of struct optee_msg_arg
220 * Part 2 - requests from normal world
226 * 384fb3e0-e7f8-11e3-af63-0002a5d5c51b.
227 * Represented in 4 32-bit words in OPTEE_MSG_UID_0, OPTEE_MSG_UID_1,
238 * extensions. Represented in 2 32-bit words in OPTEE_MSG_REVISION_MAJOR
248 * Used by non-secure world to figure out which Trusted OS is installed.
251 * Returns UUID in 4 32-bit words in the same way as
263 * Used by non-secure world to figure out which version of the Trusted OS
267 * Returns revision in 2 32-bit words in the same way as
273 * Do a secure call with struct optee_msg_arg as argument
279 * param[0].u.value.a-b uuid of Trusted Application
280 * param[1].u.value.a-b uuid of Client
319 * Part 3 - Requests from secure world, RPC
326 * RPC communication with tee-supplicant is reversed compared to normal
332 * Load a TA into memory, defined in tee-supplicant
342 * File system access, defined in tee-supplicant
350 * 1970-01-01 00:00:00 +0000 (UTC).
358 * Wait queue primitive, helper for secure world to implement a wait queue.
360 * If secure world need to wait for a secure world mutex it issues a sleep
361 * request instead of spinning in secure world. Conversely is a wakeup
362 * request issued when a secure world mutex with a thread waiting thread is
405 * as in param[n-1].u.tmem.shm_ref)
408 /* Memory that can be shared with a non-secure user space application */
410 /* Memory only shared with non-secure kernel */
434 * with the secure world