Lines Matching +full:smc +full:- +full:id
1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */
3 * Copyright (c) 2015-2021, Linaro Limited
8 #include <linux/arm-smccc.h>
19 * Function specified by SMC Calling convention.
28 * Normal cached memory (write-back), shareable for SMP systems and not
36 * 32-bit registers.
40 * Function specified by SMC Calling convention
44 * 384fb3e0-e7f8-11e3-af63-0002a5d5c51b.
54 * Function specified by SMC Calling convention
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,
112 * This SMC instructs EL3 to load a binary and execute it as the Trusted OS.
115 * a0 SMC Function ID, OPTEE_SMC_CALL_LOAD_IMAGE
121 * The payload is in the OP-TEE image format.
142 * 2. Non-secure interrupts should not be masked
149 * a0 SMC Function ID, OPTEE_SMC_CALL_WITH_ARG or OPTEE_SMC_CALL_WITH_RPC_ARG
150 * a1 Upper 32 bits of a 64-bit physical pointer to a struct optee_msg_arg
151 * a2 Lower 32 bits of a 64-bit physical pointer to a struct optee_msg_arg
154 * a4-6 Not used
155 * a7 Hypervisor Client ID register
158 * a0 SMC Function ID, OPTEE_SMC_CALL_WITH_REGD_ARG
159 * a1 Upper 32 bits of a 64-bit shared memory cookie
160 * a2 Lower 32 bits of a 64-bit shared memory cookie
163 * a4-6 Not used
164 * a7 Hypervisor Client ID register
168 * a1-3 Not used
169 * a4-7 Preserved
173 * a1-3 Preserved
174 * a4-7 Preserved
178 * a1-2 RPC parameters
179 * a3-7 Resume information, must be preserved
206 * Returns the Secure/Non-secure shared memory config.
209 * a0 SMC Function ID, OPTEE_SMC_GET_SHM_CONFIG
210 * a1-6 Not used
211 * a7 Hypervisor Client ID register
219 * a4-7 Preserved
223 * a1-3 Not used
224 * a4-7 Preserved
241 * a0 SMC Function ID, OPTEE_SMC_EXCHANGE_CAPABILITIES
243 * a2-6 Not used
244 * a7 Hypervisor Client ID register
254 * a4-7 Preserved
259 * a2-7 Preserved
270 * secure world accepts command buffers located in any parts of non-secure RAM
279 /* Secure world supports pre-allocating RPC arg struct */
303 * a0 SMC Function ID, OPTEE_SMC_DISABLE_SHM_CACHE
304 * a1-6 Not used
305 * a7 Hypervisor Client ID register
309 * a1 Upper 32 bits of a 64-bit Shared memory cookie
310 * a2 Lower 32 bits of a 64-bit Shared memory cookie
311 * a3-7 Preserved
315 * a1-7 Preserved
319 * a1-7 Preserved
341 * a0 SMC Function ID, OPTEE_SMC_ENABLE_SHM_CACHE
342 * a1-6 Not used
343 * a7 Hypervisor Client ID register
347 * a1-7 Preserved
351 * a1-7 Preserved
358 * Query OP-TEE about number of supported threads
361 * threads OP-TEE supports. That is how many standard calls can be issued
362 * in parallel before OP-TEE will return OPTEE_SMC_RETURN_ETHREAD_LIMIT.
365 * a0 SMC Function ID, OPTEE_SMC_GET_THREAD_COUNT
366 * a1-6 Not used
367 * a7 Hypervisor Client ID register
372 * a2-7 Preserved
376 * a1-7 Preserved
383 * Inform OP-TEE that normal world is able to receive asynchronous
387 * a0 SMC Function ID, OPTEE_SMC_ENABLE_ASYNC_NOTIF
388 * a1-6 Not used
389 * a7 Hypervisor Client ID register
393 * a1-7 Preserved
397 * a1-7 Preserved
407 * OP-TEE keeps a record of all posted values. When an interrupt is
416 * a0 SMC Function ID, OPTEE_SMC_GET_ASYNC_NOTIF_VALUE
417 * a1-6 Not used
418 * a7 Hypervisor Client ID register
428 * a3-7 Preserved
432 * a1-7 Preserved
438 * Notification that OP-TEE expects a yielding call to do some bottom half
457 * a0 SMC Function ID, OPTEE_SMC_CALL_RETURN_FROM_RPC
458 * a1-3 Value of a1-3 when OPTEE_SMC_CALL_WITH_ARG returned
496 * a4-5 Not used
497 * a6-7 Resume information, must be preserved
500 * a0 SMC Function ID, OPTEE_SMC_CALL_RETURN_FROM_RPC.
501 * a1 Upper 32 bits of 64-bit physical pointer to allocated
504 * a2 Lower 32 bits of 64-bit physical pointer to allocated
508 * a4 Upper 32 bits of 64-bit Shared memory cookie used when freeing
510 * a5 Lower 32 bits of 64-bit Shared memory cookie used when freeing
512 * a6-7 Preserved
523 * a1 Upper 32 bits of 64-bit shared memory cookie belonging to this
525 * a2 Lower 32 bits of 64-bit shared memory cookie belonging to this
527 * a3-7 Resume information, must be preserved
530 * a0 SMC Function ID, OPTEE_SMC_CALL_RETURN_FROM_RPC.
531 * a1-2 Not used
532 * a3-7 Preserved
543 * a1-7 Resume information, must be preserved
546 * a0 SMC Function ID, OPTEE_SMC_CALL_RETURN_FROM_RPC.
547 * a1-7 Preserved
557 * - cmd the Request ID
558 * - ret return value of the request, filled in by normal world
559 * - num_params number of parameters for the request
560 * - params the parameters
561 * - param_attrs attributes of the parameters
565 * a1 Upper 32 bits of a 64-bit Shared memory cookie holding a
568 * a2 Lower 32 bits of a 64-bit Shared memory cookie holding a
571 * a3-7 Resume information, must be preserved
574 * a0 SMC Function ID, OPTEE_SMC_CALL_RETURN_FROM_RPC.
575 * a1-2 Not used
576 * a3-7 Preserved