acrn-hypervisor/hypervisor/arch/x86/retpoline-thunk.S
David B. Kinder f4122d99c5 license: Replace license text with SPDX tag
Replace the BSD-3-Clause boiler plate license text with an SPDX tag.

Fixes: #189

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-06-01 10:43:06 +08:00

38 lines
690 B
ArmAsm

/*
* Copyright (C) 2018 Intel Corporation. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
.macro retpoline_thunk reg:req
.align 8
.global __x86_indirect_thunk_\reg
__x86_indirect_thunk_\reg:
call 22f
11:
pause
jmp 11b
22:
mov %\reg, (%rsp)
ret
.endm
.section .retpoline_thunk, "ax"
retpoline_thunk rax
retpoline_thunk rbx
retpoline_thunk rcx
retpoline_thunk rdx
retpoline_thunk rdi
retpoline_thunk rsi
retpoline_thunk rbp
retpoline_thunk r8
retpoline_thunk r9
retpoline_thunk r10
retpoline_thunk r11
retpoline_thunk r12
retpoline_thunk r13
retpoline_thunk r14
retpoline_thunk r15