]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/Library/XenHypercallLib/X64/hypercall.nasm
OvmfPkg/SmmCpuFeaturesLib: SEV: encrypt+free pages of init. save state map
[mirror_edk2.git] / OvmfPkg / Library / XenHypercallLib / X64 / hypercall.nasm
1 DEFAULT REL
2 SECTION .text
3
4 ; INTN
5 ; EFIAPI
6 ; __XenHypercall2 (
7 ; IN VOID *HypercallAddr,
8 ; IN OUT INTN Arg1,
9 ; IN OUT INTN Arg2
10 ; );
11 global ASM_PFX(__XenHypercall2)
12 ASM_PFX(__XenHypercall2):
13 push rdi
14 push rsi
15 ; Copy HypercallAddr to rax
16 mov rax, rcx
17 ; Copy Arg1 to the register expected by Xen
18 mov rdi, rdx
19 ; Copy Arg2 to the register expected by Xen
20 mov rsi, r8
21 ; Call HypercallAddr
22 call rax
23 pop rsi
24 pop rdi
25 ret
26