- Get MP hal and Generic HAL to build too.
[reactos.git] / reactos / hal / hal / hal.c
index d1d107c..461b8d4 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: hal.c,v 1.1 2001/08/21 20:18:26 chorns Exp $
+/* $Id$
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
 
 /* INCLUDES ******************************************************************/
 
-#include <ddk/ntddk.h>
-#include <roscfg.h>
+#include <ntddk.h>
+#include <ndk/halfuncs.h>
+#include <ndk/kdfuncs.h>
 
 #define NDEBUG
-#include <internal/debug.h>
+#include <debug.h>
+
+#undef ExAcquireFastMutex
+#undef ExReleaseFastMutex
+#undef ExTryToAcquireFastMutex
 
 /* DATA **********************************************************************/
 
-ULONG EXPORTED KdComPortInUse = 0;
+ULONG KdComPortInUse = 0;
 
 /* FUNCTIONS *****************************************************************/
 
 NTSTATUS
-STDCALL
+NTAPI
 DriverEntry(
   PDRIVER_OBJECT DriverObject,
   PUNICODE_STRING RegistryPath)
@@ -64,7 +69,7 @@ ExTryToAcquireFastMutex(
 
 
 VOID
-STDCALL
+NTAPI
 HalAcquireDisplayOwnership(
   PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters)
 {
@@ -73,7 +78,7 @@ HalAcquireDisplayOwnership(
 
 
 NTSTATUS
-STDCALL
+NTAPI
 HalAdjustResourceList(
   PCM_RESOURCE_LIST Resources)
 {
@@ -84,7 +89,7 @@ HalAdjustResourceList(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalAllProcessorsStarted(VOID)
 {
   UNIMPLEMENTED;
@@ -94,13 +99,12 @@ HalAllProcessorsStarted(VOID)
 
 
 NTSTATUS
-STDCALL
+NTAPI
 HalAllocateAdapterChannel(
   PADAPTER_OBJECT AdapterObject,
-  PDEVICE_OBJECT DeviceObject,
+  PWAIT_CONTEXT_BLOCK WaitContextBlock,
   ULONG NumberOfMapRegisters,
-  PDRIVER_CONTROL ExecutionRoutine,
-  PVOID Context)
+  PDRIVER_CONTROL ExecutionRoutine)
 {
   UNIMPLEMENTED;
 
@@ -109,7 +113,7 @@ HalAllocateAdapterChannel(
 
 
 PVOID
-STDCALL
+NTAPI
 HalAllocateCommonBuffer(
   PADAPTER_OBJECT AdapterObject,
   ULONG Length,
@@ -122,8 +126,18 @@ HalAllocateCommonBuffer(
 }
 
 
+PVOID
+NTAPI
+HalAllocateCrashDumpRegisters(
+  ULONG Unknown1,
+  ULONG Unknown2)
+{
+  UNIMPLEMENTED;
+}
+
+
 NTSTATUS
-STDCALL
+NTAPI
 HalAssignSlotResources(
   PUNICODE_STRING RegistryPath,
   PUNICODE_STRING DriverClassName,
@@ -140,12 +154,11 @@ HalAssignSlotResources(
 }
 
 
-BOOLEAN
-STDCALL 
-HalBeginSystemInterrupt(
-  ULONG Vector,
-  KIRQL Irql,
-  PKIRQL OldIrql)
+BOOLEAN 
+NTAPI 
+HalBeginSystemInterrupt (ULONG Vector,
+                        KIRQL Irql,
+                        PKIRQL OldIrql)
 {
   UNIMPLEMENTED;
 
@@ -154,7 +167,7 @@ HalBeginSystemInterrupt(
 
 
 VOID
-STDCALL
+NTAPI
 HalCalibratePerformanceCounter(
   ULONG Count)
 {
@@ -163,10 +176,10 @@ HalCalibratePerformanceCounter(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalDisableSystemInterrupt(
   ULONG Vector,
-  ULONG Unknown2)
+  KIRQL Irql)
 {
   UNIMPLEMENTED;
 
@@ -175,7 +188,7 @@ HalDisableSystemInterrupt(
 
 
 VOID
-STDCALL
+NTAPI
 HalDisplayString(
   PCH String)
 {
@@ -184,11 +197,11 @@ HalDisplayString(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalEnableSystemInterrupt(
   ULONG Vector,
-  ULONG Unknown2,
-  ULONG Unknown3)
+  KIRQL Irql,
+  KINTERRUPT_MODE InterruptMode)
 {
   UNIMPLEMENTED;
 
@@ -197,7 +210,7 @@ HalEnableSystemInterrupt(
 
 
 VOID
-STDCALL
+NTAPI
 HalEndSystemInterrupt(
   KIRQL Irql,
   ULONG Unknown2)
@@ -207,16 +220,13 @@ HalEndSystemInterrupt(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalFlushCommonBuffer(
   ULONG Unknown1,
   ULONG Unknown2,
   ULONG Unknown3,
   ULONG Unknown4,
-  ULONG Unknown5,
-  ULONG Unknown6,
-  ULONG Unknown7,
-  ULONG Unknown8)
+  ULONG Unknown5)
 {
   UNIMPLEMENTED;
 
@@ -225,7 +235,7 @@ HalFlushCommonBuffer(
 
 
 VOID
-STDCALL
+NTAPI
 HalFreeCommonBuffer(
   PADAPTER_OBJECT AdapterObject,
   ULONG Length,
@@ -238,7 +248,7 @@ HalFreeCommonBuffer(
 
 
 PADAPTER_OBJECT
-STDCALL
+NTAPI
 HalGetAdapter(
   PDEVICE_DESCRIPTION DeviceDescription,
   PULONG NumberOfMapRegisters)
@@ -250,7 +260,7 @@ HalGetAdapter(
 
 
 ULONG
-STDCALL
+NTAPI
 HalGetBusData(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -265,7 +275,7 @@ HalGetBusData(
 
 
 ULONG
-STDCALL
+NTAPI
 HalGetBusDataByOffset(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -281,7 +291,7 @@ HalGetBusDataByOffset(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalGetEnvironmentVariable(
   PCH Name,
   PCH Value,
@@ -294,7 +304,7 @@ HalGetEnvironmentVariable(
 
 
 ULONG
-STDCALL
+NTAPI
 HalGetInterruptVector(
   INTERFACE_TYPE InterfaceType,
   ULONG BusNumber,
@@ -310,7 +320,7 @@ HalGetInterruptVector(
 
 
 VOID
-STDCALL
+NTAPI
 HalHandleNMI(
   ULONG Unused)
 {
@@ -319,7 +329,7 @@ HalHandleNMI(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalInitSystem(
   ULONG BootPhase,
   PLOADER_PARAMETER_BLOCK LoaderBlock)
@@ -331,17 +341,16 @@ HalInitSystem(
 
 
 VOID
-STDCALL
-HalInitializeProcessor(
-  ULONG ProcessorNumber,
-  PVOID ProcessorStack)
+NTAPI
+HalInitializeProcessor(ULONG ProcessorNumber,
+                       PLOADER_PARAMETER_BLOCK LoaderBlock)
 {
   UNIMPLEMENTED;
 }
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalMakeBeep(
   ULONG Frequency)
 {
@@ -352,27 +361,37 @@ HalMakeBeep(
 
 
 VOID
-STDCALL
+NTAPI
 HalProcessorIdle(VOID)
 {
   UNIMPLEMENTED;
 }
 
 
+BOOLEAN
+NTAPI
+HalQueryDisplayOwnership(VOID)
+{
+  UNIMPLEMENTED;
+
+  return FALSE;
+}
+
+
 VOID
-STDCALL
+NTAPI
 HalQueryDisplayParameters(
-  PULONG DispSizeX,
-  PULONG DispSizeY,
-  PULONG CursorPosX,
-  PULONG CursorPosY)
+  OUT PULONG DispSizeX,
+  OUT PULONG DispSizeY,
+  OUT PULONG CursorPosX,
+  OUT PULONG CursorPosY)
 {
   UNIMPLEMENTED;
 }
 
 
 VOID
-STDCALL
+NTAPI
 HalQueryRealTimeClock(
   PTIME_FIELDS Time)
 {
@@ -381,16 +400,25 @@ HalQueryRealTimeClock(
 
 
 ULONG
-STDCALL
+NTAPI
 HalReadDmaCounter(
   PADAPTER_OBJECT AdapterObject)
 {
   UNIMPLEMENTED;
+  
+  return 0;
 }
 
 
 VOID
-STDCALL
+NTAPI
+HalReleaseDisplayOwnership(VOID)
+{
+  UNIMPLEMENTED;
+}
+
+VOID
+NTAPI
 HalReportResourceUsage(VOID)
 {
   UNIMPLEMENTED;
@@ -398,7 +426,7 @@ HalReportResourceUsage(VOID)
 
 
 VOID
-STDCALL
+NTAPI
 HalRequestIpi(
   ULONG Unknown)
 {
@@ -407,16 +435,25 @@ HalRequestIpi(
 
 
 VOID
-STDCALL
+FASTCALL
+HalRequestSoftwareInterrupt(
+  KIRQL Request)
+{
+  UNIMPLEMENTED;
+}
+
+
+VOID
+NTAPI
 HalReturnToFirmware(
-  ULONG Action)
+  FIRMWARE_REENTRY Action)
 {
   UNIMPLEMENTED;
 }
 
 
 ULONG
-STDCALL
+NTAPI
 HalSetBusData(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -431,7 +468,7 @@ HalSetBusData(
 
 
 ULONG
-STDCALL
+NTAPI
 HalSetBusDataByOffset(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -447,7 +484,7 @@ HalSetBusDataByOffset(
 
 
 VOID
-STDCALL
+NTAPI
 HalSetDisplayParameters(
   ULONG CursorPosX,
   ULONG CursorPosY)
@@ -457,7 +494,7 @@ HalSetDisplayParameters(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalSetEnvironmentVariable(
   PCH Name,
   PCH Value)
@@ -469,7 +506,7 @@ HalSetEnvironmentVariable(
 
 
 VOID
-STDCALL
+NTAPI
 HalSetRealTimeClock(
   PTIME_FIELDS Time)
 {
@@ -478,7 +515,7 @@ HalSetRealTimeClock(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalStartNextProcessor(
   ULONG Unknown1,
   ULONG Unknown2)
@@ -503,7 +540,7 @@ HalSystemVectorDispatchEntry(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalTranslateBusAddress(
   INTERFACE_TYPE InterfaceType,
   ULONG BusNumber,
@@ -518,7 +555,7 @@ HalTranslateBusAddress(
 
 
 VOID
-STDCALL
+NTAPI
 IoAssignDriveLetters(
   PLOADER_PARAMETER_BLOCK LoaderBlock,
   PSTRING NtDeviceName,
@@ -530,7 +567,7 @@ IoAssignDriveLetters(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 IoFlushAdapterBuffers(
   PADAPTER_OBJECT AdapterObject,
   PMDL Mdl,
@@ -546,7 +583,7 @@ IoFlushAdapterBuffers(
 
 
 VOID
-STDCALL
+NTAPI
 IoFreeAdapterChannel(
   PADAPTER_OBJECT AdapterObject)
 {
@@ -555,7 +592,7 @@ IoFreeAdapterChannel(
 
 
 VOID
-STDCALL
+NTAPI
 IoFreeMapRegisters(
   PADAPTER_OBJECT AdapterObject,
   PVOID MapRegisterBase,
@@ -566,7 +603,7 @@ IoFreeMapRegisters(
 
 
 PHYSICAL_ADDRESS
-STDCALL
+NTAPI
 IoMapTransfer(
   PADAPTER_OBJECT AdapterObject,
   PMDL Mdl,
@@ -586,7 +623,7 @@ IoMapTransfer(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortGetByte(
   PUCHAR  ByteRecieved)
 {
@@ -597,11 +634,23 @@ KdPortGetByte(
 
 
 BOOLEAN
-STDCALL
+NTAPI
+KdPortGetByteEx(
+  PKD_PORT_INFORMATION PortInformation,
+  PUCHAR  ByteRecieved)
+{
+  UNIMPLEMENTED;
+
+  return TRUE;
+}
+
+
+BOOLEAN
+NTAPI
 KdPortInitialize(
   PKD_PORT_INFORMATION PortInformation,
-  DWORD Unknown1,
-  DWORD Unknown2)
+  ULONG Unknown1,
+  ULONG Unknown2)
 {
   UNIMPLEMENTED;
 
@@ -610,7 +659,20 @@ KdPortInitialize(
 
 
 BOOLEAN
-STDCALL
+NTAPI
+KdPortInitializeEx(
+  PKD_PORT_INFORMATION PortInformation,
+  ULONG Unknown1,
+  ULONG Unknown2)
+{
+  UNIMPLEMENTED;
+  
+  return TRUE;
+}
+
+
+BOOLEAN
+NTAPI
 KdPortPollByte(
   PUCHAR  ByteRecieved)
 {
@@ -620,8 +682,20 @@ KdPortPollByte(
 }
 
 
+BOOLEAN
+NTAPI
+KdPortPollByteEx(
+  PKD_PORT_INFORMATION PortInformation,
+  PUCHAR  ByteRecieved)
+{
+  UNIMPLEMENTED;
+
+  return TRUE;
+}
+
+
 VOID
-STDCALL
+NTAPI
 KdPortPutByte(
   UCHAR ByteToSend)
 {
@@ -630,7 +704,17 @@ KdPortPutByte(
 
 
 VOID
-STDCALL
+NTAPI
+KdPortPutByteEx(
+  PKD_PORT_INFORMATION PortInformation,
+  UCHAR ByteToSend)
+{
+  UNIMPLEMENTED;
+}
+
+
+VOID
+NTAPI
 KdPortRestore(VOID)
 {
   UNIMPLEMENTED;
@@ -638,15 +722,35 @@ KdPortRestore(VOID)
 
 
 VOID
-STDCALL
+NTAPI
 KdPortSave(VOID)
 {
   UNIMPLEMENTED;
 }
 
 
+BOOLEAN
+NTAPI
+KdPortDisableInterrupts()
+{
+  UNIMPLEMENTED;
+
+  return FALSE;
+}
+
+
+BOOLEAN
+NTAPI
+KdPortEnableInterrupts()
+{
+  UNIMPLEMENTED;
+
+  return FALSE;
+}
+
+#undef KeAcquireSpinLock
 VOID
-STDCALL
+NTAPI
 KeAcquireSpinLock(
   PKSPIN_LOCK SpinLock,
   PKIRQL OldIrql)
@@ -661,19 +765,41 @@ KeAcquireSpinLockRaiseToSynch(
   PKSPIN_LOCK SpinLock)
 {
   UNIMPLEMENTED;
+
+  return 0;
 }
 
 
 VOID
-STDCALL
-KeFlushWriteBuffer(VOID)
+FASTCALL
+KeAcquireInStackQueuedSpinLock(
+    IN PKSPIN_LOCK SpinLock,
+    IN PKLOCK_QUEUE_HANDLE LockHandle
+    )
+{
+  UNIMPLEMENTED;
+}
+
+
+VOID
+FASTCALL
+KeReleaseInStackQueuedSpinLock(
+    IN PKLOCK_QUEUE_HANDLE LockHandle
+    )
 {
   UNIMPLEMENTED;
 }
 
+VOID
+NTAPI
+KeFlushWriteBuffer(VOID)
+{
+  UNIMPLEMENTED;
+}
 
+#undef KeGetCurrentIrql
 KIRQL
-STDCALL 
+NTAPI
 KeGetCurrentIrql(VOID)
 {
   UNIMPLEMENTED;
@@ -681,9 +807,9 @@ KeGetCurrentIrql(VOID)
   return (KIRQL)0;
 }
 
-
+#undef KeLowerIrql
 VOID
-STDCALL
+NTAPI
 KeLowerIrql(
   KIRQL NewIrql)
 {
@@ -692,7 +818,7 @@ KeLowerIrql(
 
 
 LARGE_INTEGER
-STDCALL
+NTAPI
 KeQueryPerformanceCounter(
   PLARGE_INTEGER PerformanceFreq)
 {
@@ -705,9 +831,9 @@ KeQueryPerformanceCounter(
   return Value;
 }
 
-
+#undef KeRaiseIrql
 VOID
-STDCALL
+NTAPI
 KeRaiseIrql(
   KIRQL NewIrql,
   PKIRQL OldIrql)
@@ -717,7 +843,7 @@ KeRaiseIrql(
 
 
 KIRQL
-STDCALL
+NTAPI
 KeRaiseIrqlToDpcLevel(VOID)
 {
   UNIMPLEMENTED;
@@ -727,7 +853,7 @@ KeRaiseIrqlToDpcLevel(VOID)
 
 
 KIRQL
-STDCALL
+NTAPI
 KeRaiseIrqlToSynchLevel(VOID)
 {
   UNIMPLEMENTED;
@@ -735,9 +861,9 @@ KeRaiseIrqlToSynchLevel(VOID)
   return (KIRQL)0;
 }
 
-
+#undef KeReleaseSpinLock
 VOID
-STDCALL
+NTAPI
 KeReleaseSpinLock(
   PKSPIN_LOCK SpinLock,
   KIRQL NewIrql)
@@ -747,7 +873,7 @@ KeReleaseSpinLock(
 
 
 VOID
-STDCALL
+NTAPI
 KeStallExecutionProcessor(
   ULONG Microseconds)
 {
@@ -797,7 +923,7 @@ KfReleaseSpinLock(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_UCHAR(
   PUCHAR Port,
   PUCHAR Buffer,
@@ -808,7 +934,7 @@ READ_PORT_BUFFER_UCHAR(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_ULONG(
   PULONG Port,
   PULONG Buffer,
@@ -819,7 +945,7 @@ READ_PORT_BUFFER_ULONG(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_USHORT(
   PUSHORT Port,
   PUSHORT Buffer,
@@ -830,7 +956,7 @@ READ_PORT_BUFFER_USHORT(
 
 
 UCHAR
-STDCALL
+NTAPI
 READ_PORT_UCHAR(
   PUCHAR Port)
 {
@@ -841,7 +967,7 @@ READ_PORT_UCHAR(
 
 
 ULONG
-STDCALL
+NTAPI
 READ_PORT_ULONG(
   PULONG Port)
 {
@@ -852,7 +978,7 @@ READ_PORT_ULONG(
 
 
 USHORT
-STDCALL
+NTAPI
 READ_PORT_USHORT(
   PUSHORT Port)
 {
@@ -863,7 +989,7 @@ READ_PORT_USHORT(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_UCHAR(
   PUCHAR Port,
   PUCHAR Buffer,
@@ -874,7 +1000,7 @@ WRITE_PORT_BUFFER_UCHAR(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_USHORT(
   PUSHORT Port,
   PUSHORT Buffer,
@@ -885,7 +1011,7 @@ WRITE_PORT_BUFFER_USHORT(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_ULONG(
   PULONG Port,
   PULONG Buffer,
@@ -896,7 +1022,7 @@ WRITE_PORT_BUFFER_ULONG(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_UCHAR(
   PUCHAR Port,
   UCHAR Value)
@@ -905,7 +1031,7 @@ WRITE_PORT_UCHAR(
 }
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_ULONG(
   PULONG Port,
   ULONG Value)
@@ -914,7 +1040,7 @@ WRITE_PORT_ULONG(
 }
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_USHORT(
   PUSHORT Port,
   USHORT Value)