summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnthony PERARD <anthony.perard@citrix.com>2014-11-08 02:41:15 +0000
committerjljusten <jljusten@Edk2>2014-11-08 02:41:15 +0000
commit60aafa1bdee040c366da84f58a660df505fbff92 (patch)
treeac146b2bda0ef7ce6c9b39936fc73b0b54efc6cc
parent31c0aa2fd09b9ca7764ae43458d379995baa8637 (diff)
downloadedk2-60aafa1bdee040c366da84f58a660df505fbff92.tar.gz
edk2-60aafa1bdee040c366da84f58a660df505fbff92.tar.bz2
edk2-60aafa1bdee040c366da84f58a660df505fbff92.zip
OvmfPkg XenBusDxe: Convert X64/hypercall.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert X64/hypercall.asm to X64/hypercall.nasm Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16317 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--OvmfPkg/XenBusDxe/X64/hypercall.S22
-rw-r--r--OvmfPkg/XenBusDxe/X64/hypercall.nasm (renamed from OvmfPkg/XenBusDxe/X64/hypercall.asm)8
-rw-r--r--OvmfPkg/XenBusDxe/XenBusDxe.inf3
3 files changed, 5 insertions, 28 deletions
diff --git a/OvmfPkg/XenBusDxe/X64/hypercall.S b/OvmfPkg/XenBusDxe/X64/hypercall.S
deleted file mode 100644
index 83cf466953..0000000000
--- a/OvmfPkg/XenBusDxe/X64/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):
- push %rdi
- push %rsi
- # Copy HypercallAddr to rax
- movq %rcx, %rax
- # Copy Arg1 to the register expected by Xen
- movq %rdx, %rdi
- # Copy Arg2 to the register expected by Xen
- movq %r8, %rsi
- # Call HypercallAddr
- call *%rax
- pop %rsi
- pop %rdi
- ret
diff --git a/OvmfPkg/XenBusDxe/X64/hypercall.asm b/OvmfPkg/XenBusDxe/X64/hypercall.nasm
index 5b3451473d..177f271ef0 100644
--- a/OvmfPkg/XenBusDxe/X64/hypercall.asm
+++ b/OvmfPkg/XenBusDxe/X64/hypercall.nasm
@@ -1,4 +1,5 @@
-.code
+DEFAULT REL
+SECTION .text
; INTN
; EFIAPI
@@ -7,7 +8,8 @@
; IN OUT INTN Arg1,
; IN OUT INTN Arg2
; );
-XenHypercall2 PROC
+global ASM_PFX(XenHypercall2)
+ASM_PFX(XenHypercall2):
push rdi
push rsi
; Copy HypercallAddr to rax
@@ -21,6 +23,4 @@ XenHypercall2 PROC
pop rsi
pop rdi
ret
-XenHypercall2 ENDP
-END
diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.inf b/OvmfPkg/XenBusDxe/XenBusDxe.inf
index b421b852e8..3309f53f6b 100644
--- a/OvmfPkg/XenBusDxe/XenBusDxe.inf
+++ b/OvmfPkg/XenBusDxe/XenBusDxe.inf
@@ -54,8 +54,7 @@
Ia32/TestAndClearBit.nasm
[Sources.X64]
- X64/hypercall.S
- X64/hypercall.asm
+ X64/hypercall.nasm
X64/InterlockedCompareExchange16.S
X64/InterlockedCompareExchange16.asm
X64/TestAndClearBit.S