]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/XenBusDxe/Ia32/hypercall.S
OvmfPkg: BDS: drop custom boot timeout, revert to IntelFrameworkModulePkg's
[mirror_edk2.git] / OvmfPkg / XenBusDxe / Ia32 / hypercall.S
CommitLineData
abcbbb14
AP
1# INTN\r
2# EFIAPI\r
3# XenHypercall2 (\r
4# IN VOID *HypercallAddr,\r
5# IN OUT INTN Arg1,\r
6# IN OUT INTN Arg2\r
7# );\r
8ASM_GLOBAL ASM_PFX(XenHypercall2)\r
9ASM_PFX(XenHypercall2):\r
10 # Save only ebx, ecx is supposed to be a scratch register and needs to be\r
11 # saved by the caller\r
12 push %ebx\r
13 # Copy HypercallAddr to eax\r
14 mov 8(%esp), %eax\r
15 # Copy Arg1 to the register expected by Xen\r
16 mov 12(%esp), %ebx\r
17 # Copy Arg2 to the register expected by Xen\r
18 mov 16(%esp), %ecx\r
19 # Call HypercallAddr\r
20 call *%eax\r
21 pop %ebx\r
22 ret\r