[PATCH v2 1/6] hal: Limit exports to the appropriate architectures.

Zebediah Figura z.figura12 at gmail.com
Wed Jan 23 23:50:32 CST 2019


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




More information about the wine-devel mailing list