@ fastcall ExAcquireFastMutex(ptr)
@ fastcall ExReleaseFastMutex(ptr)
#else
-@ fastcall ExAcquireFastMutex(ptr) ExiAcquireFastMutex
-@ fastcall ExReleaseFastMutex(ptr) ExiReleaseFastMutex
+@ fastcall -arch=i386 ExAcquireFastMutex(ptr) ExiAcquireFastMutex
+@ fastcall -arch=i386 ExReleaseFastMutex(ptr) ExiReleaseFastMutex
#endif
-@ fastcall ExTryToAcquireFastMutex(ptr) ExiTryToAcquireFastMutex
+@ fastcall -arch=i386,arm ExTryToAcquireFastMutex(ptr) ExiTryToAcquireFastMutex
@ fastcall HalClearSoftwareInterrupt(long)
@ fastcall HalRequestSoftwareInterrupt(long)
@ fastcall HalSystemVectorDispatchEntry(long long long)
-@ fastcall KeAcquireInStackQueuedSpinLock(ptr ptr)
-@ fastcall KeAcquireInStackQueuedSpinLockRaiseToSynch(ptr ptr)
-@ fastcall KeAcquireSpinLockRaiseToSynch(ptr)
-@ fastcall KeAcquireQueuedSpinLock(ptr)
-@ fastcall KeAcquireQueuedSpinLockRaiseToSynch(ptr)
-@ fastcall KeReleaseInStackQueuedSpinLock(ptr)
-@ fastcall KeReleaseQueuedSpinLock(ptr long)
-@ fastcall KeTryToAcquireQueuedSpinLock(long ptr)
-@ fastcall KeTryToAcquireQueuedSpinLockRaiseToSynch(long ptr)
-@ fastcall KfAcquireSpinLock(ptr)
-@ fastcall KfLowerIrql(long)
-@ fastcall KfRaiseIrql(long)
-@ fastcall KfReleaseSpinLock(ptr long)
-
+@ fastcall -arch=i386,arm KeAcquireInStackQueuedSpinLock(ptr ptr)
+@ fastcall -arch=i386,arm KeAcquireInStackQueuedSpinLockRaiseToSynch(ptr ptr)
+@ fastcall -arch=i386,arm KeAcquireSpinLockRaiseToSynch(ptr)
+@ fastcall -arch=i386,arm KeAcquireQueuedSpinLock(ptr)
+@ fastcall -arch=i386,arm KeAcquireQueuedSpinLockRaiseToSynch(ptr)
+@ fastcall -arch=i386,arm KeReleaseInStackQueuedSpinLock(ptr)
+@ fastcall -arch=i386,arm KeReleaseQueuedSpinLock(ptr long)
+@ fastcall -arch=i386,arm KeTryToAcquireQueuedSpinLock(long ptr)
+@ fastcall -arch=i386,arm KeTryToAcquireQueuedSpinLockRaiseToSynch(long ptr)
+@ fastcall -arch=i386,arm KfAcquireSpinLock(ptr)
+@ fastcall -arch=i386,arm KfLowerIrql(long)
+@ fastcall -arch=i386,arm KfRaiseIrql(long)
+@ fastcall -arch=i386,arm KfReleaseSpinLock(ptr long)
@ stdcall HalAcquireDisplayOwnership(ptr)
@ stdcall HalAdjustResourceList(ptr)
@ stdcall HalAllProcessorsStarted()
@ stdcall HalGetBusData(long long long ptr long)
@ stdcall HalGetBusDataByOffset(long long long ptr long long)
@ stdcall HalGetEnvironmentVariable(str long str)
-#ifdef _M_ARM
-@ fastcall HalGetInterruptSource()
-#endif
+@ fastcall -arch=arm HalGetInterruptSource()
@ stdcall HalGetInterruptVector(long long long long ptr ptr)
@ stdcall HalHandleNMI(ptr)
@ stdcall HalInitSystem(long ptr)
@ stdcall HalStartNextProcessor(ptr ptr)
@ stdcall HalStartProfileInterrupt(long)
@ stdcall HalStopProfileInterrupt(long)
-#ifdef _M_ARM
-@ fastcall HalSweepIcache()
-@ fastcall HalSweepDcache()
-#endif
+@ fastcall -arch=arm HalSweepIcache()
+@ fastcall -arch=arm HalSweepDcache()
@ stdcall HalTranslateBusAddress(long long long long ptr ptr)
@ stdcall IoFlushAdapterBuffers(ptr ptr ptr ptr long long)
@ stdcall IoFreeAdapterChannel(ptr)
@ stdcall IoFreeMapRegisters(ptr ptr long)
@ stdcall IoMapTransfer(ptr ptr ptr ptr ptr long)
-#ifndef _M_ARM
-@ stdcall IoAssignDriveLetters(ptr str ptr ptr) HalpAssignDriveLetters
-@ stdcall IoReadPartitionTable(ptr long long ptr) HalpReadPartitionTable
-@ stdcall IoSetPartitionInformation(ptr long long long) HalpSetPartitionInformation
-@ stdcall IoWritePartitionTable(ptr long long long ptr) HalpWritePartitionTable
-#endif
-@ stdcall KeAcquireSpinLock(ptr ptr)
+@ stdcall -arch=i386,x86_64 IoAssignDriveLetters(ptr str ptr ptr) HalpAssignDriveLetters
+@ stdcall -arch=i386,x86_64 IoReadPartitionTable(ptr long long ptr) HalpReadPartitionTable
+@ stdcall -arch=i386,x86_64 IoSetPartitionInformation(ptr long long long) HalpSetPartitionInformation
+@ stdcall -arch=i386,x86_64 IoWritePartitionTable(ptr long long long ptr) HalpWritePartitionTable
+@ stdcall -arch=i386,arm KeAcquireSpinLock(ptr ptr)
@ extern KdComPortInUse
@ stdcall KeFlushWriteBuffer()
-@ stdcall KeGetCurrentIrql()
-@ stdcall KeLowerIrql(long)
+@ stdcall -arch=i386,arm KeGetCurrentIrql()
+@ stdcall -arch=i386,arm KeLowerIrql(long)
@ stdcall KeQueryPerformanceCounter(ptr)
-@ stdcall KeRaiseIrql(long ptr)
-@ stdcall KeRaiseIrqlToDpcLevel()
-@ stdcall KeRaiseIrqlToSynchLevel()
-@ stdcall KeReleaseSpinLock(ptr long)
+@ stdcall -arch=i386,arm KeRaiseIrql(long ptr)
+@ stdcall -arch=i386,arm KeRaiseIrqlToDpcLevel()
+@ stdcall -arch=i386,arm KeRaiseIrqlToSynchLevel()
+@ stdcall -arch=i386,arm KeReleaseSpinLock(ptr long)
@ stdcall KeStallExecutionProcessor(long)
-@ stdcall READ_PORT_BUFFER_UCHAR(ptr ptr long)
-@ stdcall READ_PORT_BUFFER_ULONG(ptr ptr long)
-@ stdcall READ_PORT_BUFFER_USHORT(ptr ptr long)
-@ stdcall READ_PORT_UCHAR(ptr)
-@ stdcall READ_PORT_ULONG(ptr)
-@ stdcall READ_PORT_USHORT(ptr)
-@ stdcall WRITE_PORT_BUFFER_UCHAR(ptr ptr long)
-@ stdcall WRITE_PORT_BUFFER_ULONG(ptr ptr long)
-@ stdcall WRITE_PORT_BUFFER_USHORT(ptr ptr long)
-@ stdcall WRITE_PORT_UCHAR(ptr long)
-@ stdcall WRITE_PORT_ULONG(ptr long)
-@ stdcall WRITE_PORT_USHORT(ptr long)
+@ stdcall -arch=i386,arm READ_PORT_BUFFER_UCHAR(ptr ptr long)
+@ stdcall -arch=i386,arm READ_PORT_BUFFER_ULONG(ptr ptr long)
+@ stdcall -arch=i386,arm READ_PORT_BUFFER_USHORT(ptr ptr long)
+@ stdcall -arch=i386,arm READ_PORT_UCHAR(ptr)
+@ stdcall -arch=i386,arm READ_PORT_ULONG(ptr)
+@ stdcall -arch=i386,arm READ_PORT_USHORT(ptr)
+@ stdcall -arch=i386,arm WRITE_PORT_BUFFER_UCHAR(ptr ptr long)
+@ stdcall -arch=i386,arm WRITE_PORT_BUFFER_ULONG(ptr ptr long)
+@ stdcall -arch=i386,arm WRITE_PORT_BUFFER_USHORT(ptr ptr long)
+@ stdcall -arch=i386,arm WRITE_PORT_UCHAR(ptr long)
+@ stdcall -arch=i386,arm WRITE_PORT_ULONG(ptr long)
+@ stdcall -arch=i386,arm WRITE_PORT_USHORT(ptr long)