Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/hal/hal.c | 81 ++++++++++++++++++-----------------------------
dlls/hal/hal.spec | 30 +++++++++---------
2 files changed, 45 insertions(+), 66 deletions(-)
diff --git a/dlls/hal/hal.c b/dlls/hal/hal.c
index 51bf55d58a..5560d9b742 100644
--- a/dlls/hal/hal.c
+++ b/dlls/hal/hal.c
@@ -47,53 +47,42 @@ WINE_DEFAULT_DEBUG_CHANNEL(ntoskrnl);
"pushl %ecx\n\t" \
"pushl %eax\n\t" \
"jmp " __ASM_NAME("__regs_") #name __ASM_STDCALL(8))
-#endif
-
-#ifdef DEFINE_FASTCALL1_ENTRYPOINT
DEFINE_FASTCALL1_ENTRYPOINT( ExAcquireFastMutex )
VOID WINAPI DECLSPEC_HIDDEN __regs_ExAcquireFastMutex(PFAST_MUTEX FastMutex)
-#else
-VOID WINAPI ExAcquireFastMutex(PFAST_MUTEX FastMutex)
-#endif
{
FIXME("%p: stub\n", FastMutex);
}
-#ifdef DEFINE_FASTCALL1_ENTRYPOINT
DEFINE_FASTCALL1_ENTRYPOINT( ExReleaseFastMutex )
VOID WINAPI DECLSPEC_HIDDEN __regs_ExReleaseFastMutex(PFAST_MUTEX FastMutex)
-#else
-VOID WINAPI ExReleaseFastMutex(PFAST_MUTEX FastMutex)
-#endif
{
FIXME("%p: stub\n", FastMutex);
}
-#ifdef DEFINE_FASTCALL1_ENTRYPOINT
DEFINE_FASTCALL1_ENTRYPOINT( ExTryToAcquireFastMutex )
BOOLEAN WINAPI DECLSPEC_HIDDEN __regs_ExTryToAcquireFastMutex(PFAST_MUTEX FastMutex)
-#else
-BOOLEAN WINAPI ExTryToAcquireFastMutex(PFAST_MUTEX FastMutex)
-#endif
{
FIXME("(%p) stub\n", FastMutex);
return TRUE;
}
-#ifdef DEFINE_FASTCALL1_ENTRYPOINT
DEFINE_FASTCALL1_ENTRYPOINT( KfAcquireSpinLock )
KIRQL WINAPI DECLSPEC_HIDDEN __regs_KfAcquireSpinLock(PKSPIN_LOCK SpinLock)
-#else
-KIRQL WINAPI KfAcquireSpinLock(PKSPIN_LOCK SpinLock)
-#endif
{
FIXME( "(%p) stub!\n", SpinLock );
return 0;
}
+DEFINE_FASTCALL2_ENTRYPOINT( KfReleaseSpinLock )
+VOID WINAPI DECLSPEC_HIDDEN __regs_KfReleaseSpinLock(PKSPIN_LOCK SpinLock, KIRQL NewIrql)
+{
+ FIXME( "(%p %u) stub!\n", SpinLock, NewIrql );
+}
+#endif /* __i386__ */
+#if defined(__i386__) || defined(__arm__) || defined(__aarch64__)
#ifdef DEFINE_FASTCALL1_ENTRYPOINT
DEFINE_FASTCALL1_ENTRYPOINT( KfLowerIrql )
VOID WINAPI DECLSPEC_HIDDEN __regs_KfLowerIrql(KIRQL NewIrql)
@@ -117,39 +106,6 @@ KIRQL WINAPI KfRaiseIrql(KIRQL NewIrql)
return 0;
}
-
-#ifdef DEFINE_FASTCALL2_ENTRYPOINT
-DEFINE_FASTCALL2_ENTRYPOINT( KfReleaseSpinLock )
-VOID WINAPI DECLSPEC_HIDDEN __regs_KfReleaseSpinLock(PKSPIN_LOCK SpinLock, KIRQL NewIrql)
-#else
-VOID WINAPI KfReleaseSpinLock(PKSPIN_LOCK SpinLock, KIRQL NewIrql)
-#endif
-{
- FIXME( "(%p %u) stub!\n", SpinLock, NewIrql );
-}
-
-ULONG WINAPI HalGetBusData(BUS_DATA_TYPE BusDataType, ULONG BusNumber, ULONG SlotNumber, PVOID Buffer, ULONG Length)
-{
- FIXME("(%u %u %u %p %u) stub!\n", BusDataType, BusNumber, SlotNumber, Buffer, Length);
- /* Claim that there is no such bus */
- return 0;
-}
-
-ULONG WINAPI HalGetBusDataByOffset(BUS_DATA_TYPE BusDataType, ULONG BusNumber, ULONG SlotNumber, PVOID Buffer, ULONG Offset, ULONG Length)
-{
- FIXME("(%u %u %u %p %u %u) stub!\n", BusDataType, BusNumber, SlotNumber, Buffer, Offset, Length);
- /* Claim that there is no such bus */
- return 0;
-}
-
-BOOLEAN WINAPI HalTranslateBusAddress(INTERFACE_TYPE InterfaceType, ULONG BusNumber, PHYSICAL_ADDRESS BusAddress,
- PULONG AddressSpace, PPHYSICAL_ADDRESS TranslatedAddress)
-{
- FIXME("(%d %d %s %p %p) stub!\n", InterfaceType, BusNumber,
- wine_dbgstr_longlong(BusAddress.QuadPart), AddressSpace, TranslatedAddress);
- return FALSE;
-}
-
KIRQL WINAPI KeGetCurrentIrql(VOID)
{
FIXME( " stub!\n");
@@ -177,6 +133,29 @@ void WINAPI WRITE_PORT_ULONG(ULONG *port, ULONG value)
{
FIXME("(%p %d) stub!\n", port, value);
}
+#endif /* __i386__ || __arm__ || __arm64__ */
+
+ULONG WINAPI HalGetBusData(BUS_DATA_TYPE BusDataType, ULONG BusNumber, ULONG SlotNumber, PVOID Buffer, ULONG Length)
+{
+ FIXME("(%u %u %u %p %u) stub!\n", BusDataType, BusNumber, SlotNumber, Buffer, Length);
+ /* Claim that there is no such bus */
+ return 0;
+}
+
+ULONG WINAPI HalGetBusDataByOffset(BUS_DATA_TYPE BusDataType, ULONG BusNumber, ULONG SlotNumber, PVOID Buffer, ULONG Offset, ULONG Length)
+{
+ FIXME("(%u %u %u %p %u %u) stub!\n", BusDataType, BusNumber, SlotNumber, Buffer, Offset, Length);
+ /* Claim that there is no such bus */
+ return 0;
+}
+
+BOOLEAN WINAPI HalTranslateBusAddress(INTERFACE_TYPE InterfaceType, ULONG BusNumber, PHYSICAL_ADDRESS BusAddress,
+ PULONG AddressSpace, PPHYSICAL_ADDRESS TranslatedAddress)
+{
+ FIXME("(%d %d %s %p %p) stub!\n", InterfaceType, BusNumber,
+ wine_dbgstr_longlong(BusAddress.QuadPart), AddressSpace, TranslatedAddress);
+ return FALSE;
+}
ULONGLONG WINAPI KeQueryPerformanceCounter(LARGE_INTEGER *frequency)
{
diff --git a/dlls/hal/hal.spec b/dlls/hal/hal.spec
index 5dc3fa8f8f..171d9defee 100644
--- a/dlls/hal/hal.spec
+++ b/dlls/hal/hal.spec
@@ -1,22 +1,22 @@
-@ stdcall -norelay ExAcquireFastMutex(ptr)
-@ stdcall -norelay ExReleaseFastMutex(ptr)
-@ stdcall -norelay ExTryToAcquireFastMutex(ptr)
+@ stdcall -arch=i386 -norelay ExAcquireFastMutex(ptr)
+@ stdcall -arch=i386 -norelay ExReleaseFastMutex(ptr)
+@ stdcall -arch=i386 -norelay ExTryToAcquireFastMutex(ptr)
@ stub HalClearSoftwareInterrupt
@ stub HalRequestSoftwareInterrupt
@ stub HalSystemVectorDispatchEntry
-@ stdcall -norelay KeAcquireInStackQueuedSpinLock(ptr ptr) ntoskrnl.exe.KeAcquireInStackQueuedSpinLock
+@ stdcall -arch=i386 -norelay KeAcquireInStackQueuedSpinLock(ptr ptr) ntoskrnl.exe.KeAcquireInStackQueuedSpinLock
@ stub KeAcquireInStackQueuedSpinLockRaiseToSynch
@ stub KeAcquireQueuedSpinLock
@ stub KeAcquireQueuedSpinLockRaiseToSynch
@ stub KeAcquireSpinLockRaiseToSynch
-@ stdcall -norelay KeReleaseInStackQueuedSpinLock(ptr) ntoskrnl.exe.KeReleaseInStackQueuedSpinLock
+@ stdcall -arch=i386 -norelay KeReleaseInStackQueuedSpinLock(ptr) ntoskrnl.exe.KeReleaseInStackQueuedSpinLock
@ stub KeReleaseQueuedSpinLock
@ stub KeTryToAcquireQueuedSpinLock
@ stub KeTryToAcquireQueuedSpinLockRaiseToSynch
-@ stdcall -norelay KfAcquireSpinLock(ptr)
-@ stdcall -norelay KfLowerIrql(long)
-@ stdcall -norelay KfRaiseIrql(long)
-@ stdcall -norelay KfReleaseSpinLock(ptr long)
+@ stdcall -arch=i386 -norelay KfAcquireSpinLock(ptr)
+@ stdcall -arch=arm,arm64,i386 -norelay KfLowerIrql(long)
+@ stdcall -arch=arm,arm64,i386 -norelay KfRaiseIrql(long)
+@ stdcall -arch=i386 -norelay KfReleaseSpinLock(ptr long)
@ stub HalAcquireDisplayOwnership
@ stub HalAdjustResourceList
@ stub HalAllProcessorsStarted
@@ -70,23 +70,23 @@
@ stub KdComPortInUse
@ stub KeAcquireSpinLock
@ stub KeFlushWriteBuffer
-@ stdcall KeGetCurrentIrql()
+@ stdcall -arch=arm,arm64,i386 KeGetCurrentIrql()
@ stub KeLowerIrql
@ stdcall -ret64 KeQueryPerformanceCounter(ptr)
@ stub KeRaiseIrql
@ stub KeRaiseIrqlToDpcLevel
@ stub KeRaiseIrqlToSynchLevel
-@ stdcall KeReleaseSpinLock(ptr long) ntoskrnl.exe.KeReleaseSpinLock
+@ stdcall -arch=i386 KeReleaseSpinLock(ptr long) ntoskrnl.exe.KeReleaseSpinLock
@ stub KeStallExecutionProcessor
@ stub READ_PORT_BUFFER_UCHAR
@ stub READ_PORT_BUFFER_ULONG
@ stub READ_PORT_BUFFER_USHORT
-@ stdcall READ_PORT_UCHAR(ptr)
-@ stdcall READ_PORT_ULONG(ptr)
+@ stdcall -arch=arm,arm64,i386 READ_PORT_UCHAR(ptr)
+@ stdcall -arch=arm,arm64,i386 READ_PORT_ULONG(ptr)
@ stub READ_PORT_USHORT
@ stub WRITE_PORT_BUFFER_UCHAR
@ stub WRITE_PORT_BUFFER_ULONG
@ stub WRITE_PORT_BUFFER_USHORT
-@ stdcall WRITE_PORT_UCHAR(ptr long)
-@ stdcall WRITE_PORT_ULONG(ptr long)
+@ stdcall -arch=arm,arm64,i386 WRITE_PORT_UCHAR(ptr long)
+@ stdcall -arch=arm,arm64,i386 WRITE_PORT_ULONG(ptr long)
@ stub WRITE_PORT_USHORT
--
2.20.1