]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/XenBusDxe/X64/hypercall.nasm
OvmfPkg XenBusDxe: Convert X64/hypercall.asm to NASM
[mirror_edk2.git] / OvmfPkg / XenBusDxe / 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