diff options
-rw-r--r-- | OvmfPkg/XenBusDxe/Ia32/hypercall.S | 22 | ||||
-rw-r--r-- | OvmfPkg/XenBusDxe/Ia32/hypercall.nasm (renamed from OvmfPkg/XenBusDxe/Ia32/hypercall.asm) | 7 | ||||
-rw-r--r-- | OvmfPkg/XenBusDxe/XenBusDxe.inf | 3 |
3 files changed, 4 insertions, 28 deletions
diff --git a/OvmfPkg/XenBusDxe/Ia32/hypercall.S b/OvmfPkg/XenBusDxe/Ia32/hypercall.S deleted file mode 100644 index 77d3478475..0000000000 --- a/OvmfPkg/XenBusDxe/Ia32/hypercall.S +++ /dev/null @@ -1,22 +0,0 @@ -# INTN
-# EFIAPI
-# XenHypercall2 (
-# IN VOID *HypercallAddr,
-# IN OUT INTN Arg1,
-# IN OUT INTN Arg2
-# );
-ASM_GLOBAL ASM_PFX(XenHypercall2)
-ASM_PFX(XenHypercall2):
- # Save only ebx, ecx is supposed to be a scratch register and needs to be
- # saved by the caller
- push %ebx
- # Copy HypercallAddr to eax
- mov 8(%esp), %eax
- # Copy Arg1 to the register expected by Xen
- mov 12(%esp), %ebx
- # Copy Arg2 to the register expected by Xen
- mov 16(%esp), %ecx
- # Call HypercallAddr
- call *%eax
- pop %ebx
- ret
diff --git a/OvmfPkg/XenBusDxe/Ia32/hypercall.asm b/OvmfPkg/XenBusDxe/Ia32/hypercall.nasm index 9ead740f91..8547c30b81 100644 --- a/OvmfPkg/XenBusDxe/Ia32/hypercall.asm +++ b/OvmfPkg/XenBusDxe/Ia32/hypercall.nasm @@ -1,4 +1,4 @@ -.code
+SECTION .text
; INTN
; EFIAPI
@@ -7,7 +7,8 @@ ; IN OUT INTN Arg1,
; IN OUT INTN Arg2
; );
-XenHypercall2 PROC
+global ASM_PFX(XenHypercall2)
+ASM_PFX(XenHypercall2):
; Save only ebx, ecx is supposed to be a scratch register and needs to be
; saved by the caller
push ebx
@@ -21,6 +22,4 @@ XenHypercall2 PROC call eax
pop ebx
ret
-XenHypercall2 ENDP
-END
diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.inf b/OvmfPkg/XenBusDxe/XenBusDxe.inf index 17a5a9073a..2478e35b63 100644 --- a/OvmfPkg/XenBusDxe/XenBusDxe.inf +++ b/OvmfPkg/XenBusDxe/XenBusDxe.inf @@ -49,8 +49,7 @@ Helpers.c
[Sources.IA32]
- Ia32/hypercall.S
- Ia32/hypercall.asm
+ Ia32/hypercall.nasm
Ia32/InterlockedCompareExchange16.S
Ia32/InterlockedCompareExchange16.asm
Ia32/TestAndClearBit.S
|