Lines Matching +full:ipa +full:- +full:shared
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 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];
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
110 * hypervisor which need to translate the guest physical address (AKA IPA
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
166 * struct optee_msg_arg - call argument
206 * OPTEE_MSG_GET_ARG_SIZE - return size of struct optee_msg_arg
218 * Part 2 - requests from normal world
224 * 384fb3e0-e7f8-11e3-af63-0002a5d5c51b.
225 * Represented in 4 32-bit words in OPTEE_MSG_UID_0, OPTEE_MSG_UID_1,
236 * extensions. Represented in 2 32-bit words in OPTEE_MSG_REVISION_MAJOR
246 * Used by non-secure world to figure out which Trusted OS is installed.
249 * Returns UUID in 4 32-bit words in the same way as
261 * Used by non-secure world to figure out which version of the Trusted OS
265 * Returns revision in 2 32-bit words in the same way as
277 * param[0].u.value.a-b uuid of Trusted Application
278 * param[1].u.value.a-b uuid of Client
290 * OPTEE_MSG_CMD_REGISTER_SHM registers a shared memory reference. The
296 * [in] param[0].u.tmem.shm_ref holds shared memory reference
298 * The shared memory can optionally be fragmented, temp memrefs can follow
301 * OPTEE_MSG_CMD_UNREGISTER_SHM unregisteres a previously registered shared
304 * [in] param[0].u.rmem.shm_ref holds shared memory reference
317 * Part 3 - Requests from secure world, RPC
324 * RPC communication with tee-supplicant is reversed compared to normal
330 * Load a TA into memory, defined in tee-supplicant
340 * File system access, defined in tee-supplicant
348 * 1970-01-01 00:00:00 +0000 (UTC).
383 * Allocate a piece of shared memory
385 * Shared memory can optionally be fragmented, to support that additional
398 * [out] param[0].u.tmem.shm_ref shared memory reference
402 * [out] param[n].u.tmem.shm_ref shared memory reference (same value
403 * as in param[n-1].u.tmem.shm_ref)
406 /* Memory that can be shared with a non-secure user space application */
408 /* Memory only shared with non-secure kernel */
412 * Free shared memory previously allocated with OPTEE_MSG_RPC_CMD_SHM_ALLOC
416 * [in] param[0].u.value.b value of shared memory reference