- Get MP hal and Generic HAL to build too.
[reactos.git] / reactos / hal / hal / hal.c
index c35c577..461b8d4 100644 (file)
 
 /* 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,7 +99,7 @@ HalAllProcessorsStarted(VOID)
 
 
 NTSTATUS
-STDCALL
+NTAPI
 HalAllocateAdapterChannel(
   PADAPTER_OBJECT AdapterObject,
   PWAIT_CONTEXT_BLOCK WaitContextBlock,
@@ -108,7 +113,7 @@ HalAllocateAdapterChannel(
 
 
 PVOID
-STDCALL
+NTAPI
 HalAllocateCommonBuffer(
   PADAPTER_OBJECT AdapterObject,
   ULONG Length,
@@ -121,8 +126,18 @@ HalAllocateCommonBuffer(
 }
 
 
+PVOID
+NTAPI
+HalAllocateCrashDumpRegisters(
+  ULONG Unknown1,
+  ULONG Unknown2)
+{
+  UNIMPLEMENTED;
+}
+
+
 NTSTATUS
-STDCALL
+NTAPI
 HalAssignSlotResources(
   PUNICODE_STRING RegistryPath,
   PUNICODE_STRING DriverClassName,
@@ -140,7 +155,7 @@ HalAssignSlotResources(
 
 
 BOOLEAN 
-STDCALL 
+NTAPI 
 HalBeginSystemInterrupt (ULONG Vector,
                         KIRQL Irql,
                         PKIRQL OldIrql)
@@ -152,7 +167,7 @@ HalBeginSystemInterrupt (ULONG Vector,
 
 
 VOID
-STDCALL
+NTAPI
 HalCalibratePerformanceCounter(
   ULONG Count)
 {
@@ -161,7 +176,7 @@ HalCalibratePerformanceCounter(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalDisableSystemInterrupt(
   ULONG Vector,
   KIRQL Irql)
@@ -173,7 +188,7 @@ HalDisableSystemInterrupt(
 
 
 VOID
-STDCALL
+NTAPI
 HalDisplayString(
   PCH String)
 {
@@ -182,7 +197,7 @@ HalDisplayString(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalEnableSystemInterrupt(
   ULONG Vector,
   KIRQL Irql,
@@ -195,7 +210,7 @@ HalEnableSystemInterrupt(
 
 
 VOID
-STDCALL
+NTAPI
 HalEndSystemInterrupt(
   KIRQL Irql,
   ULONG Unknown2)
@@ -205,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;
 
@@ -223,7 +235,7 @@ HalFlushCommonBuffer(
 
 
 VOID
-STDCALL
+NTAPI
 HalFreeCommonBuffer(
   PADAPTER_OBJECT AdapterObject,
   ULONG Length,
@@ -236,7 +248,7 @@ HalFreeCommonBuffer(
 
 
 PADAPTER_OBJECT
-STDCALL
+NTAPI
 HalGetAdapter(
   PDEVICE_DESCRIPTION DeviceDescription,
   PULONG NumberOfMapRegisters)
@@ -248,7 +260,7 @@ HalGetAdapter(
 
 
 ULONG
-STDCALL
+NTAPI
 HalGetBusData(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -263,7 +275,7 @@ HalGetBusData(
 
 
 ULONG
-STDCALL
+NTAPI
 HalGetBusDataByOffset(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -279,7 +291,7 @@ HalGetBusDataByOffset(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalGetEnvironmentVariable(
   PCH Name,
   PCH Value,
@@ -292,7 +304,7 @@ HalGetEnvironmentVariable(
 
 
 ULONG
-STDCALL
+NTAPI
 HalGetInterruptVector(
   INTERFACE_TYPE InterfaceType,
   ULONG BusNumber,
@@ -308,7 +320,7 @@ HalGetInterruptVector(
 
 
 VOID
-STDCALL
+NTAPI
 HalHandleNMI(
   ULONG Unused)
 {
@@ -317,7 +329,7 @@ HalHandleNMI(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalInitSystem(
   ULONG BootPhase,
   PLOADER_PARAMETER_BLOCK LoaderBlock)
@@ -329,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)
 {
@@ -350,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)
 {
@@ -379,7 +400,7 @@ HalQueryRealTimeClock(
 
 
 ULONG
-STDCALL
+NTAPI
 HalReadDmaCounter(
   PADAPTER_OBJECT AdapterObject)
 {
@@ -390,7 +411,14 @@ HalReadDmaCounter(
 
 
 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,7 +634,7 @@ KdPortGetByte(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortGetByteEx(
   PKD_PORT_INFORMATION PortInformation,
   PUCHAR  ByteRecieved)
@@ -609,11 +646,11 @@ KdPortGetByteEx(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortInitialize(
   PKD_PORT_INFORMATION PortInformation,
-  DWORD Unknown1,
-  DWORD Unknown2)
+  ULONG Unknown1,
+  ULONG Unknown2)
 {
   UNIMPLEMENTED;
 
@@ -622,7 +659,20 @@ KdPortInitialize(
 
 
 BOOLEAN
-STDCALL
+NTAPI
+KdPortInitializeEx(
+  PKD_PORT_INFORMATION PortInformation,
+  ULONG Unknown1,
+  ULONG Unknown2)
+{
+  UNIMPLEMENTED;
+  
+  return TRUE;
+}
+
+
+BOOLEAN
+NTAPI
 KdPortPollByte(
   PUCHAR  ByteRecieved)
 {
@@ -633,7 +683,7 @@ KdPortPollByte(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortPollByteEx(
   PKD_PORT_INFORMATION PortInformation,
   PUCHAR  ByteRecieved)
@@ -645,7 +695,7 @@ KdPortPollByteEx(
 
 
 VOID
-STDCALL
+NTAPI
 KdPortPutByte(
   UCHAR ByteToSend)
 {
@@ -654,7 +704,7 @@ KdPortPutByte(
 
 
 VOID
-STDCALL
+NTAPI
 KdPortPutByteEx(
   PKD_PORT_INFORMATION PortInformation,
   UCHAR ByteToSend)
@@ -664,7 +714,7 @@ KdPortPutByteEx(
 
 
 VOID
-STDCALL
+NTAPI
 KdPortRestore(VOID)
 {
   UNIMPLEMENTED;
@@ -672,7 +722,7 @@ KdPortRestore(VOID)
 
 
 VOID
-STDCALL
+NTAPI
 KdPortSave(VOID)
 {
   UNIMPLEMENTED;
@@ -680,7 +730,7 @@ KdPortSave(VOID)
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortDisableInterrupts()
 {
   UNIMPLEMENTED;
@@ -690,7 +740,7 @@ KdPortDisableInterrupts()
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortEnableInterrupts()
 {
   UNIMPLEMENTED;
@@ -698,9 +748,9 @@ KdPortEnableInterrupts()
   return FALSE;
 }
 
-
+#undef KeAcquireSpinLock
 VOID
-STDCALL
+NTAPI
 KeAcquireSpinLock(
   PKSPIN_LOCK SpinLock,
   PKIRQL OldIrql)
@@ -721,15 +771,35 @@ KeAcquireSpinLockRaiseToSynch(
 
 
 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;
@@ -737,9 +807,9 @@ KeGetCurrentIrql(VOID)
   return (KIRQL)0;
 }
 
-
+#undef KeLowerIrql
 VOID
-STDCALL
+NTAPI
 KeLowerIrql(
   KIRQL NewIrql)
 {
@@ -748,7 +818,7 @@ KeLowerIrql(
 
 
 LARGE_INTEGER
-STDCALL
+NTAPI
 KeQueryPerformanceCounter(
   PLARGE_INTEGER PerformanceFreq)
 {
@@ -761,9 +831,9 @@ KeQueryPerformanceCounter(
   return Value;
 }
 
-
+#undef KeRaiseIrql
 VOID
-STDCALL
+NTAPI
 KeRaiseIrql(
   KIRQL NewIrql,
   PKIRQL OldIrql)
@@ -773,7 +843,7 @@ KeRaiseIrql(
 
 
 KIRQL
-STDCALL
+NTAPI
 KeRaiseIrqlToDpcLevel(VOID)
 {
   UNIMPLEMENTED;
@@ -783,7 +853,7 @@ KeRaiseIrqlToDpcLevel(VOID)
 
 
 KIRQL
-STDCALL
+NTAPI
 KeRaiseIrqlToSynchLevel(VOID)
 {
   UNIMPLEMENTED;
@@ -791,9 +861,9 @@ KeRaiseIrqlToSynchLevel(VOID)
   return (KIRQL)0;
 }
 
-
+#undef KeReleaseSpinLock
 VOID
-STDCALL
+NTAPI
 KeReleaseSpinLock(
   PKSPIN_LOCK SpinLock,
   KIRQL NewIrql)
@@ -803,7 +873,7 @@ KeReleaseSpinLock(
 
 
 VOID
-STDCALL
+NTAPI
 KeStallExecutionProcessor(
   ULONG Microseconds)
 {
@@ -853,7 +923,7 @@ KfReleaseSpinLock(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_UCHAR(
   PUCHAR Port,
   PUCHAR Buffer,
@@ -864,7 +934,7 @@ READ_PORT_BUFFER_UCHAR(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_ULONG(
   PULONG Port,
   PULONG Buffer,
@@ -875,7 +945,7 @@ READ_PORT_BUFFER_ULONG(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_USHORT(
   PUSHORT Port,
   PUSHORT Buffer,
@@ -886,7 +956,7 @@ READ_PORT_BUFFER_USHORT(
 
 
 UCHAR
-STDCALL
+NTAPI
 READ_PORT_UCHAR(
   PUCHAR Port)
 {
@@ -897,7 +967,7 @@ READ_PORT_UCHAR(
 
 
 ULONG
-STDCALL
+NTAPI
 READ_PORT_ULONG(
   PULONG Port)
 {
@@ -908,7 +978,7 @@ READ_PORT_ULONG(
 
 
 USHORT
-STDCALL
+NTAPI
 READ_PORT_USHORT(
   PUSHORT Port)
 {
@@ -919,7 +989,7 @@ READ_PORT_USHORT(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_UCHAR(
   PUCHAR Port,
   PUCHAR Buffer,
@@ -930,7 +1000,7 @@ WRITE_PORT_BUFFER_UCHAR(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_USHORT(
   PUSHORT Port,
   PUSHORT Buffer,
@@ -941,7 +1011,7 @@ WRITE_PORT_BUFFER_USHORT(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_ULONG(
   PULONG Port,
   PULONG Buffer,
@@ -952,7 +1022,7 @@ WRITE_PORT_BUFFER_ULONG(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_UCHAR(
   PUCHAR Port,
   UCHAR Value)
@@ -961,7 +1031,7 @@ WRITE_PORT_UCHAR(
 }
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_ULONG(
   PULONG Port,
   ULONG Value)
@@ -970,7 +1040,7 @@ WRITE_PORT_ULONG(
 }
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_USHORT(
   PUSHORT Port,
   USHORT Value)