- Get MP hal and Generic HAL to build too.
[reactos.git] / reactos / hal / hal / hal.c
index 52a5dc8..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>
 
-typedef struct _LOADER_PARAMETER_BLOCK *PLOADER_PARAMETER_BLOCK;
-typedef struct _KD_PORT_INFORMATION *PKD_PORT_INFORMATION;
+#undef ExAcquireFastMutex
+#undef ExReleaseFastMutex
+#undef ExTryToAcquireFastMutex
 
 /* DATA **********************************************************************/
 
@@ -27,7 +29,7 @@ ULONG KdComPortInUse = 0;
 /* FUNCTIONS *****************************************************************/
 
 NTSTATUS
-STDCALL
+NTAPI
 DriverEntry(
   PDRIVER_OBJECT DriverObject,
   PUNICODE_STRING RegistryPath)
@@ -67,7 +69,7 @@ ExTryToAcquireFastMutex(
 
 
 VOID
-STDCALL
+NTAPI
 HalAcquireDisplayOwnership(
   PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters)
 {
@@ -76,7 +78,7 @@ HalAcquireDisplayOwnership(
 
 
 NTSTATUS
-STDCALL
+NTAPI
 HalAdjustResourceList(
   PCM_RESOURCE_LIST Resources)
 {
@@ -87,7 +89,7 @@ HalAdjustResourceList(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalAllProcessorsStarted(VOID)
 {
   UNIMPLEMENTED;
@@ -97,7 +99,7 @@ HalAllProcessorsStarted(VOID)
 
 
 NTSTATUS
-STDCALL
+NTAPI
 HalAllocateAdapterChannel(
   PADAPTER_OBJECT AdapterObject,
   PWAIT_CONTEXT_BLOCK WaitContextBlock,
@@ -111,7 +113,7 @@ HalAllocateAdapterChannel(
 
 
 PVOID
-STDCALL
+NTAPI
 HalAllocateCommonBuffer(
   PADAPTER_OBJECT AdapterObject,
   ULONG Length,
@@ -124,8 +126,18 @@ HalAllocateCommonBuffer(
 }
 
 
+PVOID
+NTAPI
+HalAllocateCrashDumpRegisters(
+  ULONG Unknown1,
+  ULONG Unknown2)
+{
+  UNIMPLEMENTED;
+}
+
+
 NTSTATUS
-STDCALL
+NTAPI
 HalAssignSlotResources(
   PUNICODE_STRING RegistryPath,
   PUNICODE_STRING DriverClassName,
@@ -143,7 +155,7 @@ HalAssignSlotResources(
 
 
 BOOLEAN 
-STDCALL 
+NTAPI 
 HalBeginSystemInterrupt (ULONG Vector,
                         KIRQL Irql,
                         PKIRQL OldIrql)
@@ -155,7 +167,7 @@ HalBeginSystemInterrupt (ULONG Vector,
 
 
 VOID
-STDCALL
+NTAPI
 HalCalibratePerformanceCounter(
   ULONG Count)
 {
@@ -164,7 +176,7 @@ HalCalibratePerformanceCounter(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalDisableSystemInterrupt(
   ULONG Vector,
   KIRQL Irql)
@@ -176,7 +188,7 @@ HalDisableSystemInterrupt(
 
 
 VOID
-STDCALL
+NTAPI
 HalDisplayString(
   PCH String)
 {
@@ -185,7 +197,7 @@ HalDisplayString(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalEnableSystemInterrupt(
   ULONG Vector,
   KIRQL Irql,
@@ -198,7 +210,7 @@ HalEnableSystemInterrupt(
 
 
 VOID
-STDCALL
+NTAPI
 HalEndSystemInterrupt(
   KIRQL Irql,
   ULONG Unknown2)
@@ -208,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;
 
@@ -226,7 +235,7 @@ HalFlushCommonBuffer(
 
 
 VOID
-STDCALL
+NTAPI
 HalFreeCommonBuffer(
   PADAPTER_OBJECT AdapterObject,
   ULONG Length,
@@ -239,7 +248,7 @@ HalFreeCommonBuffer(
 
 
 PADAPTER_OBJECT
-STDCALL
+NTAPI
 HalGetAdapter(
   PDEVICE_DESCRIPTION DeviceDescription,
   PULONG NumberOfMapRegisters)
@@ -251,7 +260,7 @@ HalGetAdapter(
 
 
 ULONG
-STDCALL
+NTAPI
 HalGetBusData(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -266,7 +275,7 @@ HalGetBusData(
 
 
 ULONG
-STDCALL
+NTAPI
 HalGetBusDataByOffset(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -282,7 +291,7 @@ HalGetBusDataByOffset(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalGetEnvironmentVariable(
   PCH Name,
   PCH Value,
@@ -295,7 +304,7 @@ HalGetEnvironmentVariable(
 
 
 ULONG
-STDCALL
+NTAPI
 HalGetInterruptVector(
   INTERFACE_TYPE InterfaceType,
   ULONG BusNumber,
@@ -311,7 +320,7 @@ HalGetInterruptVector(
 
 
 VOID
-STDCALL
+NTAPI
 HalHandleNMI(
   ULONG Unused)
 {
@@ -320,7 +329,7 @@ HalHandleNMI(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalInitSystem(
   ULONG BootPhase,
   PLOADER_PARAMETER_BLOCK LoaderBlock)
@@ -332,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)
 {
@@ -353,7 +361,7 @@ HalMakeBeep(
 
 
 VOID
-STDCALL
+NTAPI
 HalProcessorIdle(VOID)
 {
   UNIMPLEMENTED;
@@ -361,7 +369,7 @@ HalProcessorIdle(VOID)
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalQueryDisplayOwnership(VOID)
 {
   UNIMPLEMENTED;
@@ -371,7 +379,7 @@ HalQueryDisplayOwnership(VOID)
 
 
 VOID
-STDCALL
+NTAPI
 HalQueryDisplayParameters(
   OUT PULONG DispSizeX,
   OUT PULONG DispSizeY,
@@ -383,7 +391,7 @@ HalQueryDisplayParameters(
 
 
 VOID
-STDCALL
+NTAPI
 HalQueryRealTimeClock(
   PTIME_FIELDS Time)
 {
@@ -392,7 +400,7 @@ HalQueryRealTimeClock(
 
 
 ULONG
-STDCALL
+NTAPI
 HalReadDmaCounter(
   PADAPTER_OBJECT AdapterObject)
 {
@@ -403,14 +411,14 @@ HalReadDmaCounter(
 
 
 VOID
-STDCALL
+NTAPI
 HalReleaseDisplayOwnership(VOID)
 {
   UNIMPLEMENTED;
 }
 
 VOID
-STDCALL
+NTAPI
 HalReportResourceUsage(VOID)
 {
   UNIMPLEMENTED;
@@ -418,7 +426,7 @@ HalReportResourceUsage(VOID)
 
 
 VOID
-STDCALL
+NTAPI
 HalRequestIpi(
   ULONG Unknown)
 {
@@ -436,16 +444,16 @@ HalRequestSoftwareInterrupt(
 
 
 VOID
-STDCALL
+NTAPI
 HalReturnToFirmware(
-  ULONG Action)
+  FIRMWARE_REENTRY Action)
 {
   UNIMPLEMENTED;
 }
 
 
 ULONG
-STDCALL
+NTAPI
 HalSetBusData(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -460,7 +468,7 @@ HalSetBusData(
 
 
 ULONG
-STDCALL
+NTAPI
 HalSetBusDataByOffset(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -476,7 +484,7 @@ HalSetBusDataByOffset(
 
 
 VOID
-STDCALL
+NTAPI
 HalSetDisplayParameters(
   ULONG CursorPosX,
   ULONG CursorPosY)
@@ -486,7 +494,7 @@ HalSetDisplayParameters(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalSetEnvironmentVariable(
   PCH Name,
   PCH Value)
@@ -498,7 +506,7 @@ HalSetEnvironmentVariable(
 
 
 VOID
-STDCALL
+NTAPI
 HalSetRealTimeClock(
   PTIME_FIELDS Time)
 {
@@ -507,7 +515,7 @@ HalSetRealTimeClock(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalStartNextProcessor(
   ULONG Unknown1,
   ULONG Unknown2)
@@ -532,7 +540,7 @@ HalSystemVectorDispatchEntry(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalTranslateBusAddress(
   INTERFACE_TYPE InterfaceType,
   ULONG BusNumber,
@@ -547,7 +555,7 @@ HalTranslateBusAddress(
 
 
 VOID
-STDCALL
+NTAPI
 IoAssignDriveLetters(
   PLOADER_PARAMETER_BLOCK LoaderBlock,
   PSTRING NtDeviceName,
@@ -559,7 +567,7 @@ IoAssignDriveLetters(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 IoFlushAdapterBuffers(
   PADAPTER_OBJECT AdapterObject,
   PMDL Mdl,
@@ -575,7 +583,7 @@ IoFlushAdapterBuffers(
 
 
 VOID
-STDCALL
+NTAPI
 IoFreeAdapterChannel(
   PADAPTER_OBJECT AdapterObject)
 {
@@ -584,7 +592,7 @@ IoFreeAdapterChannel(
 
 
 VOID
-STDCALL
+NTAPI
 IoFreeMapRegisters(
   PADAPTER_OBJECT AdapterObject,
   PVOID MapRegisterBase,
@@ -595,7 +603,7 @@ IoFreeMapRegisters(
 
 
 PHYSICAL_ADDRESS
-STDCALL
+NTAPI
 IoMapTransfer(
   PADAPTER_OBJECT AdapterObject,
   PMDL Mdl,
@@ -615,7 +623,7 @@ IoMapTransfer(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortGetByte(
   PUCHAR  ByteRecieved)
 {
@@ -626,7 +634,7 @@ KdPortGetByte(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortGetByteEx(
   PKD_PORT_INFORMATION PortInformation,
   PUCHAR  ByteRecieved)
@@ -638,11 +646,11 @@ KdPortGetByteEx(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortInitialize(
   PKD_PORT_INFORMATION PortInformation,
-  DWORD Unknown1,
-  DWORD Unknown2)
+  ULONG Unknown1,
+  ULONG Unknown2)
 {
   UNIMPLEMENTED;
 
@@ -651,11 +659,11 @@ KdPortInitialize(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortInitializeEx(
   PKD_PORT_INFORMATION PortInformation,
-  DWORD Unknown1,
-  DWORD Unknown2)
+  ULONG Unknown1,
+  ULONG Unknown2)
 {
   UNIMPLEMENTED;
   
@@ -664,7 +672,7 @@ KdPortInitializeEx(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortPollByte(
   PUCHAR  ByteRecieved)
 {
@@ -675,7 +683,7 @@ KdPortPollByte(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortPollByteEx(
   PKD_PORT_INFORMATION PortInformation,
   PUCHAR  ByteRecieved)
@@ -687,7 +695,7 @@ KdPortPollByteEx(
 
 
 VOID
-STDCALL
+NTAPI
 KdPortPutByte(
   UCHAR ByteToSend)
 {
@@ -696,7 +704,7 @@ KdPortPutByte(
 
 
 VOID
-STDCALL
+NTAPI
 KdPortPutByteEx(
   PKD_PORT_INFORMATION PortInformation,
   UCHAR ByteToSend)
@@ -706,7 +714,7 @@ KdPortPutByteEx(
 
 
 VOID
-STDCALL
+NTAPI
 KdPortRestore(VOID)
 {
   UNIMPLEMENTED;
@@ -714,7 +722,7 @@ KdPortRestore(VOID)
 
 
 VOID
-STDCALL
+NTAPI
 KdPortSave(VOID)
 {
   UNIMPLEMENTED;
@@ -722,7 +730,7 @@ KdPortSave(VOID)
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortDisableInterrupts()
 {
   UNIMPLEMENTED;
@@ -732,7 +740,7 @@ KdPortDisableInterrupts()
 
 
 BOOLEAN
-STDCALL
+NTAPI
 KdPortEnableInterrupts()
 {
   UNIMPLEMENTED;
@@ -742,7 +750,7 @@ KdPortEnableInterrupts()
 
 #undef KeAcquireSpinLock
 VOID
-STDCALL
+NTAPI
 KeAcquireSpinLock(
   PKSPIN_LOCK SpinLock,
   PKIRQL OldIrql)
@@ -782,9 +790,8 @@ KeReleaseInStackQueuedSpinLock(
   UNIMPLEMENTED;
 }
 
-
 VOID
-STDCALL
+NTAPI
 KeFlushWriteBuffer(VOID)
 {
   UNIMPLEMENTED;
@@ -792,7 +799,7 @@ KeFlushWriteBuffer(VOID)
 
 #undef KeGetCurrentIrql
 KIRQL
-STDCALL 
+NTAPI
 KeGetCurrentIrql(VOID)
 {
   UNIMPLEMENTED;
@@ -802,7 +809,7 @@ KeGetCurrentIrql(VOID)
 
 #undef KeLowerIrql
 VOID
-STDCALL
+NTAPI
 KeLowerIrql(
   KIRQL NewIrql)
 {
@@ -811,7 +818,7 @@ KeLowerIrql(
 
 
 LARGE_INTEGER
-STDCALL
+NTAPI
 KeQueryPerformanceCounter(
   PLARGE_INTEGER PerformanceFreq)
 {
@@ -826,7 +833,7 @@ KeQueryPerformanceCounter(
 
 #undef KeRaiseIrql
 VOID
-STDCALL
+NTAPI
 KeRaiseIrql(
   KIRQL NewIrql,
   PKIRQL OldIrql)
@@ -836,7 +843,7 @@ KeRaiseIrql(
 
 
 KIRQL
-STDCALL
+NTAPI
 KeRaiseIrqlToDpcLevel(VOID)
 {
   UNIMPLEMENTED;
@@ -846,7 +853,7 @@ KeRaiseIrqlToDpcLevel(VOID)
 
 
 KIRQL
-STDCALL
+NTAPI
 KeRaiseIrqlToSynchLevel(VOID)
 {
   UNIMPLEMENTED;
@@ -856,7 +863,7 @@ KeRaiseIrqlToSynchLevel(VOID)
 
 #undef KeReleaseSpinLock
 VOID
-STDCALL
+NTAPI
 KeReleaseSpinLock(
   PKSPIN_LOCK SpinLock,
   KIRQL NewIrql)
@@ -866,7 +873,7 @@ KeReleaseSpinLock(
 
 
 VOID
-STDCALL
+NTAPI
 KeStallExecutionProcessor(
   ULONG Microseconds)
 {
@@ -916,7 +923,7 @@ KfReleaseSpinLock(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_UCHAR(
   PUCHAR Port,
   PUCHAR Buffer,
@@ -927,7 +934,7 @@ READ_PORT_BUFFER_UCHAR(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_ULONG(
   PULONG Port,
   PULONG Buffer,
@@ -938,7 +945,7 @@ READ_PORT_BUFFER_ULONG(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_USHORT(
   PUSHORT Port,
   PUSHORT Buffer,
@@ -949,7 +956,7 @@ READ_PORT_BUFFER_USHORT(
 
 
 UCHAR
-STDCALL
+NTAPI
 READ_PORT_UCHAR(
   PUCHAR Port)
 {
@@ -960,7 +967,7 @@ READ_PORT_UCHAR(
 
 
 ULONG
-STDCALL
+NTAPI
 READ_PORT_ULONG(
   PULONG Port)
 {
@@ -971,7 +978,7 @@ READ_PORT_ULONG(
 
 
 USHORT
-STDCALL
+NTAPI
 READ_PORT_USHORT(
   PUSHORT Port)
 {
@@ -982,7 +989,7 @@ READ_PORT_USHORT(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_UCHAR(
   PUCHAR Port,
   PUCHAR Buffer,
@@ -993,7 +1000,7 @@ WRITE_PORT_BUFFER_UCHAR(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_USHORT(
   PUSHORT Port,
   PUSHORT Buffer,
@@ -1004,7 +1011,7 @@ WRITE_PORT_BUFFER_USHORT(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_ULONG(
   PULONG Port,
   PULONG Buffer,
@@ -1015,7 +1022,7 @@ WRITE_PORT_BUFFER_ULONG(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_UCHAR(
   PUCHAR Port,
   UCHAR Value)
@@ -1024,7 +1031,7 @@ WRITE_PORT_UCHAR(
 }
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_ULONG(
   PULONG Port,
   ULONG Value)
@@ -1033,7 +1040,7 @@ WRITE_PORT_ULONG(
 }
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_USHORT(
   PUSHORT Port,
   USHORT Value)