summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--OvmfPkg/XenBusDxe/X64/TestAndClearBit.S12
-rw-r--r--OvmfPkg/XenBusDxe/X64/TestAndClearBit.nasm (renamed from OvmfPkg/XenBusDxe/X64/TestAndClearBit.asm)8
-rw-r--r--OvmfPkg/XenBusDxe/XenBusDxe.inf3
3 files changed, 5 insertions, 18 deletions
diff --git a/OvmfPkg/XenBusDxe/X64/TestAndClearBit.S b/OvmfPkg/XenBusDxe/X64/TestAndClearBit.S
deleted file mode 100644
index 0372e83..0000000
--- a/OvmfPkg/XenBusDxe/X64/TestAndClearBit.S
+++ /dev/null
@@ -1,12 +0,0 @@
-# INT32
-# EFIAPI
-# TestAndClearBit (
-# IN INT32 Bit, // rcx
-# IN volatile VOID* Address // rdx
-# );
-ASM_GLOBAL ASM_PFX(TestAndClearBit)
-ASM_PFX(TestAndClearBit):
- lock
- btrl %ecx, (%rdx)
- sbbl %eax, %eax
- ret
diff --git a/OvmfPkg/XenBusDxe/X64/TestAndClearBit.asm b/OvmfPkg/XenBusDxe/X64/TestAndClearBit.nasm
index 3a25879..38ac549 100644
--- a/OvmfPkg/XenBusDxe/X64/TestAndClearBit.asm
+++ b/OvmfPkg/XenBusDxe/X64/TestAndClearBit.nasm
@@ -1,4 +1,5 @@
-.code
+DEFAULT REL
+SECTION .text
; INT32
; EFIAPI
@@ -6,11 +7,10 @@
; IN INT32 Bit, // rcx
; IN volatile VOID* Address // rdx
; );
-TestAndClearBit PROC
+global ASM_PFX(TestAndClearBit)
+ASM_PFX(TestAndClearBit):
lock
btr [rdx], ecx
sbb eax, eax
ret
-TestAndClearBit ENDP
-END
diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.inf b/OvmfPkg/XenBusDxe/XenBusDxe.inf
index 61f7568..4ce4743 100644
--- a/OvmfPkg/XenBusDxe/XenBusDxe.inf
+++ b/OvmfPkg/XenBusDxe/XenBusDxe.inf
@@ -56,8 +56,7 @@
[Sources.X64]
X64/hypercall.nasm
X64/InterlockedCompareExchange16.nasm
- X64/TestAndClearBit.S
- X64/TestAndClearBit.asm
+ X64/TestAndClearBit.nasm
[LibraryClasses]
UefiDriverEntryPoint