--- /dev/null
+DEFAULT REL\r
+SECTION .text\r
+\r
+; INTN\r
+; EFIAPI\r
+; __XenHypercall2 (\r
+; IN VOID *HypercallAddr,\r
+; IN OUT INTN Arg1,\r
+; IN OUT INTN Arg2\r
+; );\r
+global ASM_PFX(__XenHypercall2)\r
+ASM_PFX(__XenHypercall2):\r
+ push rdi\r
+ push rsi\r
+ ; Copy HypercallAddr to rax\r
+ mov rax, rcx\r
+ ; Copy Arg1 to the register expected by Xen\r
+ mov rdi, rdx\r
+ ; Copy Arg2 to the register expected by Xen\r
+ mov rsi, r8\r
+ ; Call HypercallAddr\r
+ call rax\r
+ pop rsi\r
+ pop rdi\r
+ ret\r
+\r