mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-04 17:44:14 +08:00
6a7171b8a0
Rename symbols for better clarity: * 'eenter' might be confused for directly calling ENCLU[EENTER]. It does not. It calls into the VDSO, which actually has the EENTER instruction. * 'sgx_call_vdso' is *only* used for entering the enclave. It's not some generic SGX call into the VDSO. Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
45 lines
839 B
ArmAsm
45 lines
839 B
ArmAsm
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/**
|
|
* Copyright(c) 2016-20 Intel Corporation.
|
|
*/
|
|
|
|
.text
|
|
|
|
.global sgx_enter_enclave
|
|
sgx_enter_enclave:
|
|
.cfi_startproc
|
|
push %r15
|
|
.cfi_adjust_cfa_offset 8
|
|
.cfi_rel_offset %r15, 0
|
|
push %r14
|
|
.cfi_adjust_cfa_offset 8
|
|
.cfi_rel_offset %r14, 0
|
|
push %r13
|
|
.cfi_adjust_cfa_offset 8
|
|
.cfi_rel_offset %r13, 0
|
|
push %r12
|
|
.cfi_adjust_cfa_offset 8
|
|
.cfi_rel_offset %r12, 0
|
|
push %rbx
|
|
.cfi_adjust_cfa_offset 8
|
|
.cfi_rel_offset %rbx, 0
|
|
push $0
|
|
.cfi_adjust_cfa_offset 8
|
|
push 0x38(%rsp)
|
|
.cfi_adjust_cfa_offset 8
|
|
call *vdso_sgx_enter_enclave(%rip)
|
|
add $0x10, %rsp
|
|
.cfi_adjust_cfa_offset -0x10
|
|
pop %rbx
|
|
.cfi_adjust_cfa_offset -8
|
|
pop %r12
|
|
.cfi_adjust_cfa_offset -8
|
|
pop %r13
|
|
.cfi_adjust_cfa_offset -8
|
|
pop %r14
|
|
.cfi_adjust_cfa_offset -8
|
|
pop %r15
|
|
.cfi_adjust_cfa_offset -8
|
|
ret
|
|
.cfi_endproc
|