Lines Matching +full:shared +full:- +full:memory

1 /* SPDX-License-Identifier: BSD-2-Clause */
3 * Copyright (c) 2015-2018, Linaro Limited
13 * This file defines the OP-TEE message protocol used to communicate with
14 * an instance of OP-TEE running in secure world. This file is based on
15 * https://github.com/OP-TEE/optee_os/blob/master/core/include/optee_msg.h
22 * tee-supplicant.
26 * Part 1 - formatting of messages
51 * Pointer to a list of pages used to register user-defined SHM buffer.
54 * list of page addresses. OP-TEE core can reconstruct contiguous buffer from
66 * uint64_t pages_array[OPTEE_MSG_NONCONTIG_PAGE_SIZE/sizeof(uint64_t) - 1];
79 * Memory attributes for caching passed with temp memrefs. The actual value
82 * defined for the memory range should be used. If optee_smc.h is used as
100 * Page size used in non-contiguous buffer entries
105 * struct optee_msg_param_tmem - temporary memory reference parameter
108 * @shm_ref: Temporary shared memory reference, pointer to a struct tee_shm
112 * have completely independent memory mapping. Normal world can even have a
124 * struct optee_msg_param_rmem - registered memory reference parameter
125 * @offs: Offset into shared memory reference
127 * @shm_ref: Shared memory reference, pointer to a struct tee_shm
136 * struct optee_msg_param_value - opaque value parameter
147 * struct optee_msg_param - parameter used together with struct optee_msg_arg
149 * @tmem: parameter by temporary memory reference
150 * @rmem: parameter by registered memory reference
169 * struct optee_msg_arg - call argument
209 * OPTEE_MSG_GET_ARG_SIZE - return size of struct optee_msg_arg
221 * Part 2 - requests from normal world
227 * 384fb3e0-e7f8-11e3-af63-0002a5d5c51b.
228 * Represented in 4 32-bit words in OPTEE_MSG_UID_0, OPTEE_MSG_UID_1,
239 * extensions. Represented in 2 32-bit words in OPTEE_MSG_REVISION_MAJOR
249 * Used by non-secure world to figure out which Trusted OS is installed.
252 * Returns UUID in 4 32-bit words in the same way as
264 * Used by non-secure world to figure out which version of the Trusted OS
268 * Returns revision in 2 32-bit words in the same way as
280 * param[0].u.value.a-b uuid of Trusted Application
281 * param[1].u.value.a-b uuid of Client
293 * OPTEE_MSG_CMD_REGISTER_SHM registers a shared memory reference. The
299 * [in] param[0].u.tmem.shm_ref holds shared memory reference
301 * The shared memory can optionally be fragmented, temp memrefs can follow
304 * OPTEE_MSG_CMD_UNREGISTER_SHM unregisteres a previously registered shared
305 * memory reference. The information is passed as:
307 * [in] param[0].u.rmem.shm_ref holds shared memory reference
320 * Part 3 - Requests from secure world, RPC
327 * RPC communication with tee-supplicant is reversed compared to normal
333 * Load a TA into memory, defined in tee-supplicant
343 * File system access, defined in tee-supplicant
351 * 1970-01-01 00:00:00 +0000 (UTC).
386 * Allocate a piece of shared memory
388 * Shared memory can optionally be fragmented, to support that additional
394 * [in] param[0].u.value.a type of memory one of
401 * [out] param[0].u.tmem.shm_ref shared memory reference
405 * [out] param[n].u.tmem.shm_ref shared memory reference (same value
406 * as in param[n-1].u.tmem.shm_ref)
409 /* Memory that can be shared with a non-secure user space application */
411 /* Memory only shared with non-secure kernel */
415 * Free shared memory previously allocated with OPTEE_MSG_RPC_CMD_SHM_ALLOC
417 * [in] param[0].u.value.a type of memory one of
419 * [in] param[0].u.value.b value of shared memory reference