/* INCLUDES ******************************************************************/
-#include <reactos/asm.h>
-#include <ndk/asm.h>
+#include <asm.inc>
+#include <ks386.inc>
#include <internal/i386/asmmacro.S>
/* FUNCTIONS ****************************************************************/
.code32
-.text
/*
* NOTE: These functions must obey the following rules:
* IN PLIST_ENTRY ListEntry,
* IN PKSPIN_LOCK Lock)
*/
-.global _ExInterlockedAddLargeInteger@16
+PUBLIC _ExInterlockedAddLargeInteger@16
_ExInterlockedAddLargeInteger@16:
/* Prepare stack frame */
* IN PLIST_ENTRY ListEntry,
* IN PKSPIN_LOCK Lock)
*/
-.global _ExInterlockedAddUlong@12
+PUBLIC _ExInterlockedAddUlong@12
_ExInterlockedAddUlong@12:
/* Save flags and disable interrupts */
* IN PLIST_ENTRY ListEntry,
* IN PKSPIN_LOCK Lock)
*/
-.global _ExInterlockedInsertHeadList@12
+PUBLIC _ExInterlockedInsertHeadList@12
_ExInterlockedInsertHeadList@12:
/* Save lock pointer */
/* check if the list was empty and return NULL */
xor eax, edx
- jz 2f
+ jz .l2
/* Return pointer */
mov eax, edx
-2:
+.l2:
ret 12
#ifdef CONFIG_SMP
* IN PLIST_ENTRY ListEntry,
* IN PKSPIN_LOCK Lock)
*/
-.global _ExInterlockedInsertTailList@12
+PUBLIC _ExInterlockedInsertTailList@12
_ExInterlockedInsertTailList@12:
/* Save lock pointer */
/* Check if the list was empty and return NULL */
xor eax, edx
- jz 2f
+ jz .l3
/* Return pointer */
mov eax, edx
-2:
+.l3:
ret 12
#ifdef CONFIG_SMP
*ExInterlockedRemoveHeadList(IN PLIST_ENTRY ListHead,
* IN PKSPIN_LOCK Lock)
*/
-.global _ExInterlockedRemoveHeadList@8
+PUBLIC _ExInterlockedRemoveHeadList@8
_ExInterlockedRemoveHeadList@8:
/* Save lock pointer */
/* Check if it's empty */
cmp eax, edx
- je 2f
+ je .l4
/* Get next entry and do deletion */
mov ecx, [eax]
/* Return */
ret 8
-2:
+.l4:
/* Release lock */
#ifdef CONFIG_SMP
mov edx, [esp+12]
*ExInterlockedPopEntryList(IN PSINGLE_LIST_ENTRY ListHead,
* IN PKSPIN_LOCK Lock)
*/
-.global _ExInterlockedPopEntryList@8
+PUBLIC _ExInterlockedPopEntryList@8
_ExInterlockedPopEntryList@8:
/* Save lock pointer */
/* Check if it's empty */
or eax, eax
- je 3f
+ je .l6
/* Get next entry and do deletion */
mov edx, [eax]
mov [ecx], edx
-2:
+.l5:
/* Release lock */
#ifdef CONFIG_SMP
mov ecx, [esp+12]
/* Return */
ret 8
-3:
+.l6:
/* Return empty list */
xor eax, eax
- jmp 2b
+ jmp .l5
#ifdef CONFIG_SMP
.spin6:
* IN PSINGLE_LIST_ENTRY ListEntry,
* IN PKSPIN_LOCK Lock)
*/
-.global _ExInterlockedPushEntryList@12
+PUBLIC _ExInterlockedPushEntryList@12
_ExInterlockedPushEntryList@12:
/* Save lock pointer */
*ExInterlockedIncrementLong(IN PLONG Addend,
* IN PKSPIN_LOCK Lock)
*/
-.global _ExInterlockedIncrementLong@8
+PUBLIC _ExInterlockedIncrementLong@8
_ExInterlockedIncrementLong@8:
/* Get addend */
*ExInterlockedDecrementLong(IN PLONG Addend,
* IN PKSPIN_LOCK Lock)
*/
-.global _ExInterlockedDecrementLong@8
+PUBLIC _ExInterlockedDecrementLong@8
_ExInterlockedDecrementLong@8:
/* Get addend */
* IN ULONG Value,
* IN PKSPIN_LOCK Lock)
*/
-.global _ExInterlockedExchangeUlong@12
+PUBLIC _ExInterlockedExchangeUlong@12
_ExInterlockedExchangeUlong@12:
/* Get pointers */
*Exi386InterlockedIncrementLong(IN PLONG Addend,
* IN PKSPIN_LOCK Lock)
*/
-.global _Exi386InterlockedIncrementLong@4
+PUBLIC _Exi386InterlockedIncrementLong@4
_Exi386InterlockedIncrementLong@4:
/* Get addend */
*Exi386InterlockedDecrementLong(IN PLONG Addend,
* IN PKSPIN_LOCK Lock)
*/
-.global _Exi386InterlockedDecrementLong@4
+PUBLIC _Exi386InterlockedDecrementLong@4
_Exi386InterlockedDecrementLong@4:
/* Get addend */
* IN ULONG Value,
* IN PKSPIN_LOCK Lock)
*/
-.global _Exi386InterlockedExchangeUlong@12
+PUBLIC _Exi386InterlockedExchangeUlong@12
_Exi386InterlockedExchangeUlong@12:
/* Get pointers */
/* Return */
ret 8
-
+
+END
/* EOF */