- Get MP hal and Generic HAL to build too.
[reactos.git] / reactos / hal / hal / hal.c
index 38af3f9..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,7 +361,7 @@ HalMakeBeep(
 
 
 VOID
-STDCALL
+NTAPI
 HalProcessorIdle(VOID)
 {
   UNIMPLEMENTED;
@@ -358,7 +369,7 @@ HalProcessorIdle(VOID)
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalQueryDisplayOwnership(VOID)
 {
   UNIMPLEMENTED;
@@ -368,7 +379,7 @@ HalQueryDisplayOwnership(VOID)
 
 
 VOID
-STDCALL
+NTAPI
 HalQueryDisplayParameters(
   OUT PULONG DispSizeX,
   OUT PULONG DispSizeY,
@@ -380,7 +391,7 @@ HalQueryDisplayParameters(
 
 
 VOID
-STDCALL
+NTAPI
 HalQueryRealTimeClock(
   PTIME_FIELDS Time)
 {
@@ -389,7 +400,7 @@ HalQueryRealTimeClock(
 
 
 ULONG
-STDCALL
+NTAPI
 HalReadDmaCounter(
   PADAPTER_OBJECT AdapterObject)
 {
@@ -400,14 +411,14 @@ HalReadDmaCounter(
 
 
 VOID
-STDCALL
+NTAPI
 HalReleaseDisplayOwnership(VOID)
 {
   UNIMPLEMENTED;
 }
 
 VOID
-STDCALL
+NTAPI
 HalReportResourceUsage(VOID)
 {
   UNIMPLEMENTED;
@@ -415,7 +426,7 @@ HalReportResourceUsage(VOID)
 
 
 VOID
-STDCALL
+NTAPI
 HalRequestIpi(
   ULONG Unknown)
 {
@@ -433,16 +444,16 @@ HalRequestSoftwareInterrupt(
 
 
 VOID
-STDCALL
+NTAPI
 HalReturnToFirmware(
-  ULONG Action)
+  FIRMWARE_REENTRY Action)
 {
   UNIMPLEMENTED;
 }
 
 
 ULONG
-STDCALL
+NTAPI
 HalSetBusData(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -457,7 +468,7 @@ HalSetBusData(
 
 
 ULONG
-STDCALL
+NTAPI
 HalSetBusDataByOffset(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -473,7 +484,7 @@ HalSetBusDataByOffset(
 
 
 VOID
-STDCALL
+NTAPI
 HalSetDisplayParameters(
   ULONG CursorPosX,
   ULONG CursorPosY)
@@ -483,7 +494,7 @@ HalSetDisplayParameters(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalSetEnvironmentVariable(
   PCH Name,
   PCH Value)
@@ -495,7 +506,7 @@ HalSetEnvironmentVariable(
 
 
 VOID
-STDCALL
+NTAPI
 HalSetRealTimeClock(
   PTIME_FIELDS Time)
 {
@@ -504,7 +515,7 @@ HalSetRealTimeClock(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalStartNextProcessor(
   ULONG Unknown1,
   ULONG Unknown2)
@@ -529,7 +540,7 @@ HalSystemVectorDispatchEntry(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalTranslateBusAddress(
   INTERFACE_TYPE InterfaceType,
   ULONG BusNumber,
@@ -544,7 +555,7 @@ HalTranslateBusAddress(
 
 
 VOID
-STDCALL
+NTAPI
 IoAssignDriveLetters(
   PLOADER_PARAMETER_BLOCK LoaderBlock,
   PSTRING NtDeviceName,
@@ -556,7 +567,7 @@ IoAssignDriveLetters(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 IoFlushAdapterBuffers(
   PADAPTER_OBJECT AdapterObject,
   PMDL Mdl,
@@ -572,7 +583,7 @@ IoFlushAdapterBuffers(
 
 
 VOID
-STDCALL
+NTAPI
 IoFreeAdapterChannel(
   PADAPTER_OBJECT AdapterObject)
 {
@@ -581,7 +592,7 @@ IoFreeAdapterChannel(
 
 
 VOID
-STDCALL
+NTAPI
 IoFreeMapRegisters(
   PADAPTER_OBJECT AdapterObject,
   PVOID MapRegisterBase,
@@ -592,7 +603,7 @@ IoFreeMapRegisters(
 
 
 PHYSICAL_ADDRESS
-STDCALL
+NTAPI
 IoMapTransfer(
   PADAPTER_OBJECT AdapterObject,
   PMDL Mdl,
@@ -612,7 +623,7 @@ IoMapTransfer(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortGetByte(
   PUCHAR  ByteRecieved)
 {
@@ -623,7 +634,7 @@ KdPortGetByte(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortGetByteEx(
   PKD_PORT_INFORMATION PortInformation,
   PUCHAR  ByteRecieved)
@@ -635,11 +646,11 @@ KdPortGetByteEx(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortInitialize(
   PKD_PORT_INFORMATION PortInformation,
-  DWORD Unknown1,
-  DWORD Unknown2)
+  ULONG Unknown1,
+  ULONG Unknown2)
 {
   UNIMPLEMENTED;
 
@@ -648,18 +659,20 @@ KdPortInitialize(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortInitializeEx(
   PKD_PORT_INFORMATION PortInformation,
-  DWORD Unknown1,
-  DWORD Unknown2)
+  ULONG Unknown1,
+  ULONG Unknown2)
 {
   UNIMPLEMENTED;
+  
+  return TRUE;
 }
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortPollByte(
   PUCHAR  ByteRecieved)
 {
@@ -670,7 +683,7 @@ KdPortPollByte(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortPollByteEx(
   PKD_PORT_INFORMATION PortInformation,
   PUCHAR  ByteRecieved)
@@ -682,7 +695,7 @@ KdPortPollByteEx(
 
 
 VOID
-STDCALL
+NTAPI
 KdPortPutByte(
   UCHAR ByteToSend)
 {
@@ -691,7 +704,7 @@ KdPortPutByte(
 
 
 VOID
-STDCALL
+NTAPI
 KdPortPutByteEx(
   PKD_PORT_INFORMATION PortInformation,
   UCHAR ByteToSend)
@@ -701,7 +714,7 @@ KdPortPutByteEx(
 
 
 VOID
-STDCALL
+NTAPI
 KdPortRestore(VOID)
 {
   UNIMPLEMENTED;
@@ -709,7 +722,7 @@ KdPortRestore(VOID)
 
 
 VOID
-STDCALL
+NTAPI
 KdPortSave(VOID)
 {
   UNIMPLEMENTED;
@@ -717,7 +730,7 @@ KdPortSave(VOID)
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortDisableInterrupts()
 {
   UNIMPLEMENTED;
@@ -727,7 +740,7 @@ KdPortDisableInterrupts()
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortEnableInterrupts()
 {
   UNIMPLEMENTED;
@@ -735,9 +748,9 @@ KdPortEnableInterrupts()
   return FALSE;
 }
 
-
+#undef KeAcquireSpinLock
 VOID
-STDCALL
+NTAPI
 KeAcquireSpinLock(
   PKSPIN_LOCK SpinLock,
   PKIRQL OldIrql)
@@ -777,9 +790,8 @@ KeReleaseInStackQueuedSpinLock(
   UNIMPLEMENTED;
 }
 
-
 VOID
-STDCALL
+NTAPI
 KeFlushWriteBuffer(VOID)
 {
   UNIMPLEMENTED;
@@ -787,7 +799,7 @@ KeFlushWriteBuffer(VOID)
 
 #undef KeGetCurrentIrql
 KIRQL
-STDCALL 
+NTAPI
 KeGetCurrentIrql(VOID)
 {
   UNIMPLEMENTED;
@@ -795,9 +807,9 @@ KeGetCurrentIrql(VOID)
   return (KIRQL)0;
 }
 
-
+#undef KeLowerIrql
 VOID
-STDCALL
+NTAPI
 KeLowerIrql(
   KIRQL NewIrql)
 {
@@ -806,7 +818,7 @@ KeLowerIrql(
 
 
 LARGE_INTEGER
-STDCALL
+NTAPI
 KeQueryPerformanceCounter(
   PLARGE_INTEGER PerformanceFreq)
 {
@@ -819,9 +831,9 @@ KeQueryPerformanceCounter(
   return Value;
 }
 
-
+#undef KeRaiseIrql
 VOID
-STDCALL
+NTAPI
 KeRaiseIrql(
   KIRQL NewIrql,
   PKIRQL OldIrql)
@@ -831,7 +843,7 @@ KeRaiseIrql(
 
 
 KIRQL
-STDCALL
+NTAPI
 KeRaiseIrqlToDpcLevel(VOID)
 {
   UNIMPLEMENTED;
@@ -841,7 +853,7 @@ KeRaiseIrqlToDpcLevel(VOID)
 
 
 KIRQL
-STDCALL
+NTAPI
 KeRaiseIrqlToSynchLevel(VOID)
 {
   UNIMPLEMENTED;
@@ -849,9 +861,9 @@ KeRaiseIrqlToSynchLevel(VOID)
   return (KIRQL)0;
 }
 
-
+#undef KeReleaseSpinLock
 VOID
-STDCALL
+NTAPI
 KeReleaseSpinLock(
   PKSPIN_LOCK SpinLock,
   KIRQL NewIrql)
@@ -861,7 +873,7 @@ KeReleaseSpinLock(
 
 
 VOID
-STDCALL
+NTAPI
 KeStallExecutionProcessor(
   ULONG Microseconds)
 {
@@ -911,7 +923,7 @@ KfReleaseSpinLock(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_UCHAR(
   PUCHAR Port,
   PUCHAR Buffer,
@@ -922,7 +934,7 @@ READ_PORT_BUFFER_UCHAR(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_ULONG(
   PULONG Port,
   PULONG Buffer,
@@ -933,7 +945,7 @@ READ_PORT_BUFFER_ULONG(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_USHORT(
   PUSHORT Port,
   PUSHORT Buffer,
@@ -944,7 +956,7 @@ READ_PORT_BUFFER_USHORT(
 
 
 UCHAR
-STDCALL
+NTAPI
 READ_PORT_UCHAR(
   PUCHAR Port)
 {
@@ -955,7 +967,7 @@ READ_PORT_UCHAR(
 
 
 ULONG
-STDCALL
+NTAPI
 READ_PORT_ULONG(
   PULONG Port)
 {
@@ -966,7 +978,7 @@ READ_PORT_ULONG(
 
 
 USHORT
-STDCALL
+NTAPI
 READ_PORT_USHORT(
   PUSHORT Port)
 {
@@ -977,7 +989,7 @@ READ_PORT_USHORT(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_UCHAR(
   PUCHAR Port,
   PUCHAR Buffer,
@@ -988,7 +1000,7 @@ WRITE_PORT_BUFFER_UCHAR(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_USHORT(
   PUSHORT Port,
   PUSHORT Buffer,
@@ -999,7 +1011,7 @@ WRITE_PORT_BUFFER_USHORT(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_ULONG(
   PULONG Port,
   PULONG Buffer,
@@ -1010,7 +1022,7 @@ WRITE_PORT_BUFFER_ULONG(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_UCHAR(
   PUCHAR Port,
   UCHAR Value)
@@ -1019,7 +1031,7 @@ WRITE_PORT_UCHAR(
 }
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_ULONG(
   PULONG Port,
   ULONG Value)
@@ -1028,7 +1040,7 @@ WRITE_PORT_ULONG(
 }
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_USHORT(
   PUSHORT Port,
   USHORT Value)