Lines Matching +full:shared +full:- +full:memory
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.
19 * tee-supplicant.
23 * Part 1 - formatting of messages
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];
76 * Memory attributes for caching passed with temp memrefs. The actual value
79 * defined for the memory range should be used. If optee_smc.h is used as
97 * Page size used in non-contiguous buffer entries
102 * struct optee_msg_param_tmem - temporary memory reference parameter
105 * @shm_ref: Temporary shared memory reference, pointer to a struct tee_shm
109 * have completely independent memory mapping. Normal world can even have a
121 * struct optee_msg_param_rmem - registered memory reference parameter
122 * @offs: Offset into shared memory reference
124 * @shm_ref: Shared memory reference, pointer to a struct tee_shm
133 * struct optee_msg_param_value - opaque value parameter
144 * struct optee_msg_param - parameter used together with struct optee_msg_arg
146 * @tmem: parameter by temporary memory reference
147 * @rmem: parameter by registered memory reference
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
279 * param[0].u.value.a-b uuid of Trusted Application
280 * param[1].u.value.a-b uuid of Client
292 * OPTEE_MSG_CMD_REGISTER_SHM registers a shared memory reference. The
298 * [in] param[0].u.tmem.shm_ref holds shared memory reference
300 * The shared memory can optionally be fragmented, temp memrefs can follow
303 * OPTEE_MSG_CMD_UNREGISTER_SHM unregisteres a previously registered shared
304 * memory reference. The information is passed as:
306 * [in] param[0].u.rmem.shm_ref holds shared memory reference
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).
385 * Allocate a piece of shared memory
387 * Shared memory can optionally be fragmented, to support that additional
393 * [in] param[0].u.value.a type of memory one of
400 * [out] param[0].u.tmem.shm_ref shared memory reference
404 * [out] param[n].u.tmem.shm_ref shared memory reference (same value
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 */
414 * Free shared memory previously allocated with OPTEE_MSG_RPC_CMD_SHM_ALLOC
416 * [in] param[0].u.value.a type of memory one of
418 * [in] param[0].u.value.b value of shared memory reference