-/* $OpenBSD: vmm_support.S,v 1.22 2023/04/14 20:27:47 dv Exp $ */
+/* $OpenBSD: vmm_support.S,v 1.23 2023/04/14 23:56:57 dv Exp $ */
/*
* Copyright (c) 2014 Mike Larkin <mlarkin@openbsd.org>
*
ret
lfence
-NENTRY(vmxon)
+ENTRY(vmxon)
RETGUARD_SETUP(vmxon, r11)
xorq %rax, %rax
vmxon (%rdi)
lfence
END(vmxon)
-NENTRY(vmxoff)
+ENTRY(vmxoff)
RETGUARD_SETUP(vmxoff, r11)
xorq %rax, %rax
vmxoff
lfence
END(vmxoff)
-NENTRY(vmclear)
+ENTRY(vmclear)
RETGUARD_SETUP(vmclear, r11)
xorq %rax, %rax
vmclear (%rdi)
lfence
END(vmclear)
-NENTRY(vmptrld)
+ENTRY(vmptrld)
RETGUARD_SETUP(vmptrld, r11)
xorq %rax, %rax
vmptrld (%rdi)
lfence
END(vmptrld)
-NENTRY(vmptrst)
+ENTRY(vmptrst)
RETGUARD_SETUP(vmptrst, r11)
xorq %rax, %rax
vmptrst (%rdi)
ret
lfence
-NENTRY(vmwrite)
+ENTRY(vmwrite)
RETGUARD_SETUP(vmwrite, r11)
xorq %rax, %rax
vmwrite %rsi, %rdi
lfence
END(vmwrite)
-NENTRY(vmread)
+ENTRY(vmread)
RETGUARD_SETUP(vmread, r11)
xorq %rax, %rax
vmread %rdi, (%rsi)
lfence
END(vmread)
-NENTRY(invvpid)
+ENTRY(invvpid)
RETGUARD_SETUP(invvpid, r11)
invvpid (%rsi), %rdi
RETGUARD_CHECK(invvpid, r11)
lfence
END(invvpid)
-NENTRY(invept)
+ENTRY(invept)
RETGUARD_SETUP(invept, r11)
invept (%rsi), %rdi
RETGUARD_CHECK(invept, r11)
lfence
END(invept)
-NENTRY(vmx_enter_guest)
+ENTRY(vmx_enter_guest)
RETGUARD_SETUP(vmx_enter_guest, r11)
movq %rdx, %r8 /* resume flag */
movq %rcx, %r9 /* L1DF MSR support */
lfence
END(vmx_enter_guest)
-NENTRY(svm_enter_guest)
+ENTRY(svm_enter_guest)
RETGUARD_SETUP(svm_enter_guest, r11)
clgi
movq %rdi, %r8