xref: /hypervisor/arch/x86/lib/retpoline-thunk.S
  • Home
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • current directory
1/*
2 * Copyright (C) 2018-2022 Intel Corporation.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7.macro retpoline_thunk reg:req
8
9.align 8
10.global __x86_indirect_thunk_\reg
11__x86_indirect_thunk_\reg:
12    call 22f
1311:
14    pause
15    lfence
16    jmp 11b
1722:
18    mov %\reg, (%rsp)
19    ret
20.endm
21
22.section    .retpoline_thunk, "ax"
23
24    retpoline_thunk rax
25    retpoline_thunk rbx
26    retpoline_thunk rcx
27    retpoline_thunk rdx
28    retpoline_thunk rdi
29    retpoline_thunk rsi
30    retpoline_thunk rbp
31    retpoline_thunk r8
32    retpoline_thunk r9
33    retpoline_thunk r10
34    retpoline_thunk r11
35    retpoline_thunk r12
36    retpoline_thunk r13
37    retpoline_thunk r14
38    retpoline_thunk r15
39

Last Index update Fri Aug 22 02:31:50 CST 2025