Lines Matching +full:shared +full:- +full:interrupt
1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */
3 * Copyright (c) 2015-2021, Linaro Limited
8 #include <linux/arm-smccc.h>
28 * Normal cached memory (write-back), shareable for SMP systems and not
36 * 32-bit registers.
44 * 384fb3e0-e7f8-11e3-af63-0002a5d5c51b.
75 * Used by non-secure world to figure out which Trusted OS is installed.
78 * Returns UUID in a0-4 in the same way as OPTEE_SMC_CALLS_UID
88 * Used by non-secure world to figure out which version of the Trusted OS
92 * Returns revision in a0-1 in the same way as OPTEE_SMC_CALLS_REVISION
93 * described above. May optionally return a 32-bit build identifier in a2,
118 * 2. Non-secure interrupts should not be masked
120 * the interrupt for asynchronous notifications should be unmasked
126 * a1 Upper 32 bits of a 64-bit physical pointer to a struct optee_msg_arg
127 * a2 Lower 32 bits of a 64-bit physical pointer to a struct optee_msg_arg
128 * a3 Cache settings, not used if physical pointer is in a predefined shared
130 * a4-6 Not used
135 * a1 Upper 32 bits of a 64-bit shared memory cookie
136 * a2 Lower 32 bits of a 64-bit shared memory cookie
137 * a3 Offset of the struct optee_msg_arg in the shared memory with the
139 * a4-6 Not used
144 * a1-3 Not used
145 * a4-7 Preserved
149 * a1-3 Preserved
150 * a4-7 Preserved
154 * a1-2 RPC parameters
155 * a3-7 Resume information, must be preserved
180 * Get Shared Memory Config
182 * Returns the Secure/Non-secure shared memory config.
186 * a1-6 Not used
195 * a4-7 Preserved
199 * a1-3 Not used
200 * a4-7 Preserved
219 * a2-6 Not used
230 * a4-7 Preserved
235 * a2-7 Preserved
239 /* Secure world has reserved shared memory for normal world to use */
241 /* Secure world can communicate via previously unregistered shared memory */
245 * Secure world supports commands "register/unregister shared memory",
246 * secure world accepts command buffers located in any parts of non-secure RAM
251 /* Secure world supports Shared Memory with a NULL reference */
255 /* Secure world supports pre-allocating RPC arg struct */
270 * Disable and empties cache of shared memory objects
272 * Secure world can cache frequently used shared memory objects, for
274 * function returns one shared memory reference to free. To disable the
280 * a1-6 Not used
285 * a1 Upper 32 bits of a 64-bit Shared memory cookie
286 * a2 Lower 32 bits of a 64-bit Shared memory cookie
287 * a3-7 Preserved
291 * a1-7 Preserved
295 * a1-7 Preserved
309 * Enable cache of shared memory objects
311 * Secure world can cache frequently used shared memory objects, for
318 * a1-6 Not used
323 * a1-7 Preserved
327 * a1-7 Preserved
334 * Query OP-TEE about number of supported threads
337 * threads OP-TEE supports. That is how many standard calls can be issued
338 * in parallel before OP-TEE will return OPTEE_SMC_RETURN_ETHREAD_LIMIT.
342 * a1-6 Not used
348 * a2-7 Preserved
352 * a1-7 Preserved
359 * Inform OP-TEE that normal world is able to receive asynchronous
364 * a1-6 Not used
369 * a1-7 Preserved
373 * a1-7 Preserved
383 * OP-TEE keeps a record of all posted values. When an interrupt is
388 * It is expected that this function is called from an interrupt handler
393 * a1-6 Not used
404 * a3-7 Preserved
408 * a1-7 Preserved
414 * Notification that OP-TEE expects a yielding call to do some bottom half
430 * Resume from RPC (for example after processing a foreign interrupt)
434 * a1-3 Value of a1-3 when OPTEE_SMC_CALL_WITH_ARG returned
472 * a4-5 Not used
473 * a6-7 Resume information, must be preserved
477 * a1 Upper 32 bits of 64-bit physical pointer to allocated
480 * a2 Lower 32 bits of 64-bit physical pointer to allocated
484 * a4 Upper 32 bits of 64-bit Shared memory cookie used when freeing
486 * a5 Lower 32 bits of 64-bit Shared memory cookie used when freeing
488 * a6-7 Preserved
499 * a1 Upper 32 bits of 64-bit shared memory cookie belonging to this
501 * a2 Lower 32 bits of 64-bit shared memory cookie belonging to this
503 * a3-7 Resume information, must be preserved
507 * a1-2 Not used
508 * a3-7 Preserved
515 * Deliver a foreign interrupt in normal world.
519 * a1-7 Resume information, must be preserved
523 * a1-7 Preserved
533 * - cmd the Request ID
534 * - ret return value of the request, filled in by normal world
535 * - num_params number of parameters for the request
536 * - params the parameters
537 * - param_attrs attributes of the parameters
541 * a1 Upper 32 bits of a 64-bit Shared memory cookie holding a
544 * a2 Lower 32 bits of a 64-bit Shared memory cookie holding a
547 * a3-7 Resume information, must be preserved
551 * a1-2 Not used
552 * a3-7 Preserved