Lines Matching +full:smc +full:- +full:id

4  * SPDX-License-Identifier:     GPL-2.0+
22 * Trusted OS SMC interface.
24 * The SMC interface follows SMC Calling Convention
34 * Part 2 deals with the lower level handling of the SMC.
39 * Part 1 - passing parameters to Trusted Applications
89 * struct teesmc32_param_memref - memory reference
106 * struct teesmc32_param_memref - memory reference
118 * struct teesmc32_param_value - values
128 * struct teesmc64_param_value - values
138 * struct teesmc32_param - parameter
157 * struct teesmc64_param - parameter
173 * struct teesmc32_arg - SMC argument for Trusted OS
184 * All normal SMC calls to Trusted OS uses this struct. If cmd requires
210 * struct teesmc64_arg - SMC argument for Trusted OS
241 * TEESMC64_GET_PARAMS - return pointer to union teesmc64_param *
251 * TEESMC64_GET_ARG_SIZE - return size of struct teesmc64_arg
265 * struct teesmc_meta_open_session - additional parameters for
289 * Part 2 - low level SMC interaction
326 * Function specified by SMC Calling convention.
335 * Function specified by SMC Calling convention
339 * 65cb6b93-af0c-4617-8ed6-644a8d1140f8 : Only 32 bit calls are supported
340 * 65cb6b93-af0c-4617-8ed6-644a8d1140f9 : Both 32 and 64 bit calls are supported
354 * Function specified by SMC Calling convention
369 * Used by non-secure world to figure out which Trusted OS is installed.
372 * Returns UUID in r0-4/w0-4 in the same way as TEESMC32_CALLS_UID
383 * Used by non-secure world to figure out which version of the Trusted OS
387 * Returns revision in r0-1/w0-1 in the same way as TEESMC32_CALLS_REVISION
401 * r0/x0 SMC Function ID, TEESMC32_CALL_WITH_ARG
403 * r2-6/x2-6 Not used
404 * r7/x7 Hypervisor Client ID register
408 * r1-3/x1-3 Not used
409 * r4-7/x4-7 Preserved
413 * r1-3/x1-3 Preserved
414 * r4-7/x4-7 Preserved
418 * r1-2/x1-2 RPC parameters
419 * r3-7/x3-7 Resume information, must be preserved
461 * r0/x0 SMC Function ID,
464 * r1-3/x1-3 Value of r1-3/x1-3 when TEESMC32_CALL_WITH_ARG returned
519 * r2-7/x2-7 Resume information, must be preserved
522 * r0/x0 SMC Function ID, TEESMC32_CALL_RETURN_FROM_RPC if it was an
523 * AArch32 SMC return or TEESMC64_CALL_RETURN_FROM_RPC for
524 * AArch64 SMC return
527 * r2-7/x2-7 Preserved
541 * r2-7/x2-7 Resume information, must be preserved
544 * r0/x0 SMC Function ID, TEESMC32_CALL_RETURN_FROM_RPC if it was an
545 * AArch32 SMC return or TEESMC64_CALL_RETURN_FROM_RPC for
546 * AArch64 SMC return
549 * r2-7/x2-7 Preserved
561 * r2-7/x2-7 Resume information, must be preserved
564 * r0/x0 SMC Function ID, TEESMC32_CALL_RETURN_FROM_RPC if it was an
565 * AArch32 SMC return or TEESMC64_CALL_RETURN_FROM_RPC for
566 * AArch64 SMC return
568 * r2-7/x2-7 Preserved
579 * r3-7/x3-7 Resume information, must be preserved
582 * r0/x0 SMC Function ID, TEESMC32_CALL_RETURN_FROM_RPC if it was an
583 * AArch32 SMC return or TEESMC64_CALL_RETURN_FROM_RPC for
584 * AArch64 SMC return
585 * r1-2/x1-2 Not used
586 * r3-7/x3-7 Preserved
597 * r1-7/x1-7 Resume information, must be preserved
600 * r0/x0 SMC Function ID, TEESMC32_CALL_RETURN_FROM_RPC if it was an
601 * AArch32 SMC return or TEESMC64_CALL_RETURN_FROM_RPC for
602 * AArch64 SMC return
603 * r1-7/x1-7 Preserved
612 * - cmd the Request ID
613 * - ret return value of the request, filled in by normal world
614 * - num_params number of parameters for the request
615 * - params the parameters
616 * - param_attrs attributes of the parameters
621 * a AArch32 SMC or a struct teesmc64_arg if returning from a
622 * AArch64 SMC, must be preserved, only the data should
624 * r2-7/x2-7 Resume information, must be preserved
627 * r0/x0 SMC Function ID, TEESMC32_CALL_RETURN_FROM_RPC if it was an
628 * AArch32 SMC return or TEESMC64_CALL_RETURN_FROM_RPC for
629 * AArch64 SMC return
630 * r1-7/x1-7 Preserved