Lines Matching +full:secure +full:- +full:only
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,
121 * The payload is in the OP-TEE image format.
142 * 2. Non-secure interrupts should not be masked
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
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
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.
210 * a1-6 Not used
219 * a4-7 Preserved
223 * a1-3 Not used
224 * a4-7 Preserved
238 * Exchanges capabilities between normal world and secure world
243 * a2-6 Not used
248 * a1 bitfield of secure world capabilities OPTEE_SMC_SEC_CAP_*
249 * a2 The maximum secure world notification number
254 * a4-7 Preserved
258 * a1 bitfield of secure world capabilities OPTEE_SMC_SEC_CAP_*
259 * a2-7 Preserved
263 /* Secure world has reserved shared memory for normal world to use */
265 /* Secure world can communicate via previously unregistered shared memory */
269 * Secure world supports commands "register/unregister shared memory",
270 * secure world accepts command buffers located in any parts of non-secure RAM
273 /* Secure world is built with virtualization support */
275 /* Secure world supports Shared Memory with a NULL reference */
277 /* Secure world supports asynchronous notification of normal world */
279 /* Secure world supports pre-allocating RPC arg struct */
281 /* Secure world supports probing for RPMB device if needed */
298 * Secure world can cache frequently used shared memory objects, for
299 * example objects used as RPC arguments. When secure world is idle this
306 * a1-6 Not used
311 * a1 Upper 32 bits of a 64-bit Shared memory cookie
312 * a2 Lower 32 bits of a 64-bit Shared memory cookie
313 * a3-7 Preserved
317 * a1-7 Preserved
321 * a1-7 Preserved
337 * Secure world can cache frequently used shared memory objects, for
338 * example objects used as RPC arguments. When secure world is idle this
340 * secure world isn't idle OPTEE_SMC_RETURN_EBUSY is returned.
344 * a1-6 Not used
349 * a1-7 Preserved
353 * a1-7 Preserved
360 * Query OP-TEE about number of supported threads
363 * threads OP-TEE supports. That is how many standard calls can be issued
364 * in parallel before OP-TEE will return OPTEE_SMC_RETURN_ETHREAD_LIMIT.
368 * a1-6 Not used
374 * a2-7 Preserved
378 * a1-7 Preserved
385 * Inform OP-TEE that normal world is able to receive asynchronous
390 * a1-6 Not used
395 * a1-7 Preserved
399 * a1-7 Preserved
409 * OP-TEE keeps a record of all posted values. When an interrupt is
412 * value is retrieved, it's cleared from the record in secure world.
419 * a1-6 Not used
430 * a3-7 Preserved
434 * a1-7 Preserved
440 * Notification that OP-TEE expects a yielding call to do some bottom half
460 * a1-3 Value of a1-3 when OPTEE_SMC_CALL_WITH_ARG returned
498 * a4-5 Not used
499 * a6-7 Resume information, must be preserved
503 * a1 Upper 32 bits of 64-bit physical pointer to allocated
506 * a2 Lower 32 bits of 64-bit physical pointer to allocated
510 * a4 Upper 32 bits of 64-bit Shared memory cookie used when freeing
512 * a5 Lower 32 bits of 64-bit Shared memory cookie used when freeing
514 * a6-7 Preserved
525 * a1 Upper 32 bits of 64-bit shared memory cookie belonging to this
527 * a2 Lower 32 bits of 64-bit shared memory cookie belonging to this
529 * a3-7 Resume information, must be preserved
533 * a1-2 Not used
534 * a3-7 Preserved
545 * a1-7 Resume information, must be preserved
549 * a1-7 Preserved
559 * - cmd the Request ID
560 * - ret return value of the request, filled in by normal world
561 * - num_params number of parameters for the request
562 * - params the parameters
563 * - param_attrs attributes of the parameters
567 * a1 Upper 32 bits of a 64-bit Shared memory cookie holding a
568 * struct optee_msg_arg, must be preserved, only the data should
570 * a2 Lower 32 bits of a 64-bit Shared memory cookie holding a
571 * struct optee_msg_arg, must be preserved, only the data should
573 * a3-7 Resume information, must be preserved
577 * a1-2 Not used
578 * a3-7 Preserved
587 /* Returned in a0 only from Trusted OS functions */