Lines Matching +full:smc +full:- +full:write +full:- +full:mode
1 /* SPDX-License-Identifier: BSD-2-Clause */
3 * Copyright (c) 2015-2021, Linaro Limited
11 * This file is exported by OP-TEE and is in kept in sync between secure
12 * world and normal world kernel driver. We're following ARM SMC Calling
16 * This file depends on optee_msg.h being included to expand the SMC id
61 * Function specified by SMC Calling convention.
70 * Normal cached memory (write-back), shareable for SMP systems and not
78 * 32-bit registers.
82 * Function specified by SMC Calling convention
86 * 384fb3e0-e7f8-11e3-af63-0002a5d5c51b.
96 * Function specified by SMC Calling convention
110 * Used by non-secure world to figure out which Trusted OS is installed.
113 * Returns UUID in a0-4 in the same way as OPTEE_SMC_CALLS_UID
123 * Used by non-secure world to figure out which version of the Trusted OS
127 * Returns revision in a0-1 in the same way as OPTEE_SMC_CALLS_REVISION
128 * described above. May optionally return a 32-bit build identifier in a2,
146 * 2. Non-secure interrupts should not be masked
153 * a0 SMC Function ID, OPTEE_SMC_CALL_WITH_ARG or OPTEE_SMC_CALL_WITH_RPC_ARG
154 * a1 Upper 32 bits of a 64-bit physical pointer to a struct optee_msg_arg
155 * a2 Lower 32 bits of a 64-bit physical pointer to a struct optee_msg_arg
158 * a4-6 Not used
162 * a0 SMC Function ID, OPTEE_SMC_CALL_WITH_REGD_ARG
163 * a1 Upper 32 bits of a 64-bit shared memory cookie
164 * a2 Lower 32 bits of a 64-bit shared memory cookie
167 * a4-6 Not used
172 * a1-3 Not used
173 * a4-7 Preserved
177 * a1-3 Preserved
178 * a4-7 Preserved
182 * a1-2 RPC parameters
183 * a3-7 Resume information, must be preserved
210 * Returns the Secure/Non-secure shared memory config.
213 * a0 SMC Function ID, OPTEE_SMC_GET_SHM_CONFIG
214 * a1-6 Not used
223 * a4-7 Preserved
227 * a1-3 Not used
228 * a4-7 Preserved
241 * a0 SMC Function ID, OPTEE_SMC_L2CC_MUTEX
250 * a3-6 Not used
260 * a3-7 Preserved
266 * a1-7 Preserved
280 * a0 SMC Function ID, OPTEE_SMC_EXCHANGE_CAPABILITIES
282 * a2-6 Not used
293 * a3-7 Preserved
298 * a2-7 Preserved
308 * secure world accepts command buffers located in any parts of non-secure RAM
317 /* Secure world supports pre-allocating RPC arg struct */
334 * a0 SMC Function ID, OPTEE_SMC_DISABLE_SHM_CACHE
335 * a1-6 Not used
340 * a1 Upper 32 bits of a 64-bit Shared memory cookie
341 * a2 Lower 32 bits of a 64-bit Shared memory cookie
342 * a3-7 Preserved
346 * a1-7 Preserved
350 * a1-7 Preserved
365 * a0 SMC Function ID, OPTEE_SMC_ENABLE_SHM_CACHE
366 * a1-6 Not used
371 * a1-7 Preserved
375 * a1-7 Preserved
384 * OP-TEE in secure world is in charge of the release process of secondary
385 * cores. The Rich OS issue the this request to ask OP-TEE to boot up the
386 * secondary cores, go through the OP-TEE per-core initialization, and then
387 * switch to the Non-seCure world with the Rich OS provided entry address.
388 * The secondary cores enter Non-Secure world in SVC mode, with Thumb, FIQ,
392 * a0 SMC Function ID, OPTEE_SMC_BOOT_SECONDARY
394 * a2 Upper 32 bits of a 64-bit Non-Secure world entry physical address
395 * a3 Lower 32 bits of a 64-bit Non-Secure world entry physical address
396 * a4-7 Not used
400 * a1-7 Preserved
404 * a1-7 Preserved
408 * a1-7 Preserved
415 * Inform OP-TEE about a new virtual machine
418 * OP-TEE records client id of new virtual machine and prepares
419 * to receive requests from it. This call is available only if OP-TEE
423 * a0 SMC Function ID, OPTEE_SMC_VM_CREATED
425 * a2-6 Not used
431 * a1-7 Preserved
434 * a0 OPTEE_SMC_RETURN_ENOTAVAIL OP-TEE have no resources for
436 * a1-7 Preserved
444 * Inform OP-TEE about shutdown of a virtual machine
447 * OP-TEE will clean up all resources associated with this VM. This call is
448 * available only if OP-TEE was built with virtualization support.
451 * a0 SMC Function ID, OPTEE_SMC_VM_DESTROYED
453 * a2-6 Not used
459 * a1-7 Preserved
467 * Query OP-TEE about number of supported threads
470 * threads OP-TEE supports. That is how many standard calls can be issued
471 * in parallel before OP-TEE will return OPTEE_SMC_RETURN_ETHREAD_LIMIT.
474 * a0 SMC Function ID, OPTEE_SMC_GET_THREAD_COUNT
475 * a1-6 Not used
481 * a2-7 Preserved
485 * a1-7 Preserved
492 * Inform OP-TEE that normal world is able to receive asynchronous
496 * a0 SMC Function ID, OPTEE_SMC_ENABLE_ASYNC_NOTIF
497 * a1-6 Not used
502 * a1-7 Preserved
506 * a1-7 Preserved
516 * OP-TEE keeps a record of all posted values. When an interrupt is
525 * a0 SMC Function ID, OPTEE_SMC_GET_ASYNC_NOTIF_VALUE
526 * a1-6 Not used
537 * a3-7 Preserved
541 * a1-7 Preserved
547 * Notification that OP-TEE expects a yielding call to do some bottom half
566 * a0 SMC Function ID, OPTEE_SMC_CALL_RETURN_FROM_RPC
567 * a1-3 Value of a1-3 when OPTEE_SMC_CALL_WITH_ARG returned
605 * a4-5 Not used
606 * a6-7 Resume information, must be preserved
609 * a0 SMC Function ID, OPTEE_SMC_CALL_RETURN_FROM_RPC.
610 * a1 Upper 32 bits of 64-bit physical pointer to allocated
613 * a2 Lower 32 bits of 64-bit physical pointer to allocated
617 * a4 Upper 32 bits of 64-bit Shared memory cookie used when freeing
619 * a5 Lower 32 bits of 64-bit Shared memory cookie used when freeing
621 * a6-7 Preserved
632 * a1 Upper 32 bits of 64-bit shared memory cookie belonging to this
634 * a2 Lower 32 bits of 64-bit shared memory cookie belonging to this
636 * a3-7 Resume information, must be preserved
639 * a0 SMC Function ID, OPTEE_SMC_CALL_RETURN_FROM_RPC.
640 * a1-2 Not used
641 * a3-7 Preserved
652 * a1-7 Resume information, must be preserved
655 * a0 SMC Function ID, OPTEE_SMC_CALL_RETURN_FROM_RPC.
656 * a1-7 Preserved
666 * - cmd the Request ID
667 * - ret return value of the request, filled in by normal world
668 * - num_params number of parameters for the request
669 * - params the parameters
670 * - param_attrs attributes of the parameters
674 * a1 Upper 32 bits of a 64-bit Shared memory cookie holding a
677 * a2 Lower 32 bits of a 64-bit Shared memory cookie holding a
680 * a3-7 Resume information, must be preserved
683 * a0 SMC Function ID, OPTEE_SMC_CALL_RETURN_FROM_RPC.
684 * a1-2 Not used
685 * a3-7 Preserved