#\r
# Abstract:\r
#\r
-# InterlockedCompareExchange32 function\r
+# InternalSyncCompareExchange32 function\r
#\r
# Notes:\r
#\r
#------------------------------------------------------------------------------\r
\r
-\r
-\r
- \r
-\r
-#------------------------------------------------------------------------------\r
-# VOID *\r
-# EFIAPI\r
-# InterlockedCompareExchangePointer (\r
-# IN VOID **Value,\r
-# IN VOID *CompareValue,\r
-# IN VOID *ExchangeValue\r
-# );\r
-#------------------------------------------------------------------------------\r
-.global _InterlockedCompareExchangePointer\r
-_InterlockedCompareExchangePointer: \r
- #\r
- # InterlockedCompareExchangePointer() shares the same code as\r
- # InterlockedCompareExchange32() on IA32 and thus no code inside this\r
- # function\r
- #\r
-\r
+.globl ASM_PFX(InternalSyncCompareExchange32)\r
\r
#------------------------------------------------------------------------------\r
# UINT32\r
# EFIAPI\r
-# InterlockedCompareExchange32 (\r
+# InternalSyncCompareExchange32 (\r
# IN UINT32 *Value,\r
# IN UINT32 CompareValue,\r
# IN UINT32 ExchangeValue\r
# );\r
#------------------------------------------------------------------------------\r
-.global _InterlockedCompareExchange32\r
-_InterlockedCompareExchange32: \r
- movl 4(%esp),%ecx\r
- movl 8(%esp),%eax\r
- movl 12(%esp),%edx\r
- lock cmpxchgl %edx,(%ecx)\r
+ASM_PFX(InternalSyncCompareExchange32):\r
+ movl 4(%esp), %ecx\r
+ movl 8(%esp), %eax\r
+ movl 12(%esp), %edx\r
+ lock\r
+ cmpxchgl %edx, (%ecx)\r
ret\r
-\r
-\r
-\r