Signed-off-by: Zebediah Figura z.figura12@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