Lines Matching +full:run +full:- +full:control
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
3 * Copyright(c) 2016-20 Intel Corporation.
12 * enum sgx_page_flags - page control flags
32 * struct sgx_enclave_create - parameter structure for the
41 * struct sgx_enclave_add_pages - parameter structure for the
47 * @flags: page control flags
60 * struct sgx_enclave_init - parameter structure for the
69 * struct sgx_enclave_provision - parameter structure for the
80 * typedef sgx_enclave_user_handler_t - Exit handler function accepted by
82 * @run: The run instance given by the caller
85 * exit. An invalid ENCLU function number will cause -EINVAL to be returned
89 * - <= 0: The given value is returned back to the caller.
90 * - > 0: ENCLU function to invoke, either EENTER or ERESUME.
94 struct sgx_enclave_run *run);
97 * struct sgx_enclave_run - the execution context of __vdso_sgx_enter_enclave()
103 * @user_handler: User provided callback run on exception
108 * of the normal flow. The user handler may transfer control, e.g. via a
124 * typedef vdso_sgx_enter_enclave_t - Prototype for __vdso_sgx_enter_enclave(),
126 * @rdi: Pass-through value for RDI
127 * @rsi: Pass-through value for RSI
128 * @rdx: Pass-through value for RDX
130 * @r8: Pass-through value for R8
131 * @r9: Pass-through value for R9
132 * @run: struct sgx_enclave_run, must be non-NULL
135 * x86-64 ABI, e.g. doesn't handle XSAVE state. Except for non-volatile
137 * state in accordance with the x86-64 ABI is the responsibility of the enclave
141 * All general purpose registers except RAX, RBX and RCX are passed as-is to the
143 * with @function, asynchronous exit pointer, and @run.tcs respectively.
146 * pre-enclave state, e.g. to retrieve @run.exception and @run.user_handler
156 * reported exceptions, -EFAULT is returned and details about the exception are
157 * recorded in @run.exception, the optional sgx_enclave_exception struct.
160 * - 0: ENCLU function was successfully executed.
161 * - -EINVAL: Invalid ENCL number (neither EENTER nor ERESUME).
166 struct sgx_enclave_run *run);