sync with trunk head (34904)
[reactos.git] / reactos / hal / hal / hal.c
index 16aa80f..d3c3aa2 100644 (file)
@@ -1,5 +1,4 @@
-/* $Id$
- *
+/*
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
  * FILE:             hal/hal.c
 
 /* INCLUDES ******************************************************************/
 
-#include <ddk/ntddk.h>
-#include <roscfg.h>
+#include <ntddk.h>
+#include <ntdddisk.h>
+#include <arc/arc.h>
+#include <intrin.h>
+#include <ndk/halfuncs.h>
+#include <ndk/iofuncs.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)
@@ -34,7 +42,39 @@ DriverEntry(
   return STATUS_SUCCESS;
 }
 
+/*
+* @unimplemented
+*/
+VOID
+NTAPI
+HalStopProfileInterrupt(IN KPROFILE_SOURCE ProfileSource)
+{
+    KEBUGCHECK(0);
+    return;
+}
+
+/*
+* @unimplemented
+*/
+VOID
+NTAPI
+HalStartProfileInterrupt(IN KPROFILE_SOURCE ProfileSource)
+{
+    KEBUGCHECK(0);
+    return;
+}
 
+/*
+* @unimplemented
+*/
+ULONG_PTR
+NTAPI
+HalSetProfileInterval(IN ULONG_PTR Interval)
+{
+    KEBUGCHECK(0);
+    return Interval;
+}
+#if 0
 VOID
 FASTCALL
 ExAcquireFastMutex(
@@ -61,10 +101,10 @@ ExTryToAcquireFastMutex(
 
   return TRUE;
 }
-
+#endif
 
 VOID
-STDCALL
+NTAPI
 HalAcquireDisplayOwnership(
   PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters)
 {
@@ -73,7 +113,7 @@ HalAcquireDisplayOwnership(
 
 
 NTSTATUS
-STDCALL
+NTAPI
 HalAdjustResourceList(
   PCM_RESOURCE_LIST Resources)
 {
@@ -84,7 +124,7 @@ HalAdjustResourceList(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalAllProcessorsStarted(VOID)
 {
   UNIMPLEMENTED;
@@ -94,7 +134,7 @@ HalAllProcessorsStarted(VOID)
 
 
 NTSTATUS
-STDCALL
+NTAPI
 HalAllocateAdapterChannel(
   PADAPTER_OBJECT AdapterObject,
   PWAIT_CONTEXT_BLOCK WaitContextBlock,
@@ -108,7 +148,7 @@ HalAllocateAdapterChannel(
 
 
 PVOID
-STDCALL
+NTAPI
 HalAllocateCommonBuffer(
   PADAPTER_OBJECT AdapterObject,
   ULONG Length,
@@ -121,8 +161,19 @@ HalAllocateCommonBuffer(
 }
 
 
+PVOID
+NTAPI
+HalAllocateCrashDumpRegisters(
+  PADAPTER_OBJECT AdapterObject,
+  PULONG NumberOfMapRegisters)
+{
+  UNIMPLEMENTED;
+  return NULL;
+}
+
+
 NTSTATUS
-STDCALL
+NTAPI
 HalAssignSlotResources(
   PUNICODE_STRING RegistryPath,
   PUNICODE_STRING DriverClassName,
@@ -139,10 +190,10 @@ HalAssignSlotResources(
 }
 
 
-BOOLEAN 
-STDCALL 
-HalBeginSystemInterrupt (ULONG Vector,
-                        KIRQL Irql,
+BOOLEAN
+NTAPI
+HalBeginSystemInterrupt (KIRQL Irql,
+                        ULONG Vector,
                         PKIRQL OldIrql)
 {
   UNIMPLEMENTED;
@@ -152,16 +203,17 @@ HalBeginSystemInterrupt (ULONG Vector,
 
 
 VOID
-STDCALL
+NTAPI
 HalCalibratePerformanceCounter(
-  ULONG Count)
+  volatile LONG *Count,
+  ULONGLONG NewCount)
 {
   UNIMPLEMENTED;
 }
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalDisableSystemInterrupt(
   ULONG Vector,
   KIRQL Irql)
@@ -173,7 +225,7 @@ HalDisableSystemInterrupt(
 
 
 VOID
-STDCALL
+NTAPI
 HalDisplayString(
   PCH String)
 {
@@ -182,7 +234,7 @@ HalDisplayString(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalEnableSystemInterrupt(
   ULONG Vector,
   KIRQL Irql,
@@ -195,7 +247,7 @@ HalEnableSystemInterrupt(
 
 
 VOID
-STDCALL
+NTAPI
 HalEndSystemInterrupt(
   KIRQL Irql,
   ULONG Unknown2)
@@ -205,16 +257,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 +272,7 @@ HalFlushCommonBuffer(
 
 
 VOID
-STDCALL
+NTAPI
 HalFreeCommonBuffer(
   PADAPTER_OBJECT AdapterObject,
   ULONG Length,
@@ -236,7 +285,7 @@ HalFreeCommonBuffer(
 
 
 PADAPTER_OBJECT
-STDCALL
+NTAPI
 HalGetAdapter(
   PDEVICE_DESCRIPTION DeviceDescription,
   PULONG NumberOfMapRegisters)
@@ -248,7 +297,7 @@ HalGetAdapter(
 
 
 ULONG
-STDCALL
+NTAPI
 HalGetBusData(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -263,7 +312,7 @@ HalGetBusData(
 
 
 ULONG
-STDCALL
+NTAPI
 HalGetBusDataByOffset(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -278,21 +327,21 @@ HalGetBusDataByOffset(
 }
 
 
-BOOLEAN
-STDCALL
+ARC_STATUS
+NTAPI
 HalGetEnvironmentVariable(
   PCH Name,
-  PCH Value,
-  USHORT ValueLength)
+  USHORT ValueLength,
+  PCH Value)
 {
   UNIMPLEMENTED;
 
-  return FALSE;
+  return ENOENT;
 }
 
 
 ULONG
-STDCALL
+NTAPI
 HalGetInterruptVector(
   INTERFACE_TYPE InterfaceType,
   ULONG BusNumber,
@@ -308,16 +357,16 @@ HalGetInterruptVector(
 
 
 VOID
-STDCALL
+NTAPI
 HalHandleNMI(
-  ULONG Unused)
+  PVOID NmiData)
 {
   UNIMPLEMENTED;
 }
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalInitSystem(
   ULONG BootPhase,
   PLOADER_PARAMETER_BLOCK LoaderBlock)
@@ -329,17 +378,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,45 +398,65 @@ 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
+BOOLEAN
+NTAPI
 HalQueryRealTimeClock(
   PTIME_FIELDS Time)
 {
   UNIMPLEMENTED;
+  return FALSE;
 }
 
 
 ULONG
-STDCALL
+NTAPI
 HalReadDmaCounter(
   PADAPTER_OBJECT AdapterObject)
 {
   UNIMPLEMENTED;
+
+  return 0;
 }
 
 
 VOID
-STDCALL
+NTAPI
+HalReleaseDisplayOwnership(VOID)
+{
+  UNIMPLEMENTED;
+}
+
+VOID
+NTAPI
 HalReportResourceUsage(VOID)
 {
   UNIMPLEMENTED;
@@ -396,25 +464,41 @@ HalReportResourceUsage(VOID)
 
 
 VOID
-STDCALL
+NTAPI
 HalRequestIpi(
-  ULONG Unknown)
+    KAFFINITY TargetSet)
+{
+  UNIMPLEMENTED;
+}
+
+
+VOID
+FASTCALL
+HalRequestSoftwareInterrupt(
+  KIRQL Request)
+{
+  UNIMPLEMENTED;
+}
+
+VOID FASTCALL
+HalClearSoftwareInterrupt(
+  IN KIRQL Request)
 {
   UNIMPLEMENTED;
 }
 
 
 VOID
-STDCALL
+NTAPI
 HalReturnToFirmware(
-  ULONG Action)
+  FIRMWARE_REENTRY Action)
 {
   UNIMPLEMENTED;
 }
 
 
 ULONG
-STDCALL
+NTAPI
 HalSetBusData(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -429,7 +513,7 @@ HalSetBusData(
 
 
 ULONG
-STDCALL
+NTAPI
 HalSetBusDataByOffset(
   BUS_DATA_TYPE BusDataType,
   ULONG BusNumber,
@@ -445,7 +529,7 @@ HalSetBusDataByOffset(
 
 
 VOID
-STDCALL
+NTAPI
 HalSetDisplayParameters(
   ULONG CursorPosX,
   ULONG CursorPosY)
@@ -454,32 +538,44 @@ HalSetDisplayParameters(
 }
 
 
-BOOLEAN
-STDCALL
+ARC_STATUS
+NTAPI
 HalSetEnvironmentVariable(
   PCH Name,
   PCH Value)
 {
   UNIMPLEMENTED;
 
-  return TRUE;
+  return ESUCCESS;
 }
 
 
-VOID
-STDCALL
+BOOLEAN
+NTAPI
 HalSetRealTimeClock(
   PTIME_FIELDS Time)
 {
   UNIMPLEMENTED;
+
+  return TRUE;
+}
+
+
+ULONG
+NTAPI
+HalSetTimeIncrement(
+  ULONG Increment)
+{
+  UNIMPLEMENTED;
+
+  return Increment;
 }
 
 
 BOOLEAN
-STDCALL
-HalStartNextProcessor(
-  ULONG Unknown1,
-  ULONG Unknown2)
+NTAPI
+HalStartNextProcessor(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
+                      IN PKPROCESSOR_STATE ProcessorState)
 {
   UNIMPLEMENTED;
 
@@ -501,7 +597,7 @@ HalSystemVectorDispatchEntry(
 
 
 BOOLEAN
-STDCALL
+NTAPI
 HalTranslateBusAddress(
   INTERFACE_TYPE InterfaceType,
   ULONG BusNumber,
@@ -516,19 +612,66 @@ HalTranslateBusAddress(
 
 
 VOID
-STDCALL
-IoAssignDriveLetters(
-  PLOADER_PARAMETER_BLOCK LoaderBlock,
-  PSTRING NtDeviceName,
-  PUCHAR NtSystemPath,
-  PSTRING NtSystemPathString)
+NTAPI
+HalpAssignDriveLetters(IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
+                       IN PSTRING NtDeviceName,
+                       OUT PUCHAR NtSystemPath,
+                       OUT PSTRING NtSystemPathString)
 {
-  UNIMPLEMENTED;
+    /* Call the kernel */
+    IoAssignDriveLetters(LoaderBlock,
+                                NtDeviceName,
+                                NtSystemPath,
+                                NtSystemPathString);
+}
+
+NTSTATUS
+NTAPI
+HalpReadPartitionTable(IN PDEVICE_OBJECT DeviceObject,
+                       IN ULONG SectorSize,
+                       IN BOOLEAN ReturnRecognizedPartitions,
+                       IN OUT PDRIVE_LAYOUT_INFORMATION *PartitionBuffer)
+{
+    /* Call the kernel */
+    return IoReadPartitionTable(DeviceObject,
+                                SectorSize,
+                                ReturnRecognizedPartitions,
+                                PartitionBuffer);
+}
+
+NTSTATUS
+NTAPI
+HalpWritePartitionTable(IN PDEVICE_OBJECT DeviceObject,
+                        IN ULONG SectorSize,
+                        IN ULONG SectorsPerTrack,
+                        IN ULONG NumberOfHeads,
+                        IN PDRIVE_LAYOUT_INFORMATION PartitionBuffer)
+{
+    /* Call the kernel */
+    return IoWritePartitionTable(DeviceObject,
+                                 SectorSize,
+                                 SectorsPerTrack,
+                                 NumberOfHeads,
+                                 PartitionBuffer);
+}
+
+NTSTATUS
+NTAPI
+HalpSetPartitionInformation(IN PDEVICE_OBJECT DeviceObject,
+                            IN ULONG SectorSize,
+                            IN ULONG PartitionNumber,
+                            IN ULONG PartitionType)
+{
+    /* Call the kernel */
+    return IoSetPartitionInformation(DeviceObject,
+                                     SectorSize,
+                                     PartitionNumber,
+                                     PartitionType);
 }
 
 
 BOOLEAN
-STDCALL
+NTAPI
 IoFlushAdapterBuffers(
   PADAPTER_OBJECT AdapterObject,
   PMDL Mdl,
@@ -544,7 +687,7 @@ IoFlushAdapterBuffers(
 
 
 VOID
-STDCALL
+NTAPI
 IoFreeAdapterChannel(
   PADAPTER_OBJECT AdapterObject)
 {
@@ -553,7 +696,7 @@ IoFreeAdapterChannel(
 
 
 VOID
-STDCALL
+NTAPI
 IoFreeMapRegisters(
   PADAPTER_OBJECT AdapterObject,
   PVOID MapRegisterBase,
@@ -564,7 +707,7 @@ IoFreeMapRegisters(
 
 
 PHYSICAL_ADDRESS
-STDCALL
+NTAPI
 IoMapTransfer(
   PADAPTER_OBJECT AdapterObject,
   PMDL Mdl,
@@ -583,145 +726,67 @@ IoMapTransfer(
 }
 
 
-BOOLEAN
-STDCALL
-KdPortGetByte(
-  PUCHAR  ByteRecieved)
-{
-  UNIMPLEMENTED;
-
-  return TRUE;
-}
-
-
-BOOLEAN
-STDCALL
-KdPortGetByteEx(
-  PKD_PORT_INFORMATION PortInformation,
-  PUCHAR  ByteRecieved)
-{
-  UNIMPLEMENTED;
-
-  return TRUE;
-}
-
-
-BOOLEAN
-STDCALL
-KdPortInitialize(
-  PKD_PORT_INFORMATION PortInformation,
-  DWORD Unknown1,
-  DWORD Unknown2)
-{
-  UNIMPLEMENTED;
-
-  return TRUE;
-}
-
-
-BOOLEAN
-STDCALL
-KdPortPollByte(
-  PUCHAR  ByteRecieved)
-{
-  UNIMPLEMENTED;
-
-  return TRUE;
-}
-
-
-BOOLEAN
-STDCALL
-KdPortPollByteEx(
-  PKD_PORT_INFORMATION PortInformation,
-  PUCHAR  ByteRecieved)
-{
-  UNIMPLEMENTED;
-
-  return TRUE;
-}
-
-
+#undef KeAcquireSpinLock
 VOID
-STDCALL
-KdPortPutByte(
-  UCHAR ByteToSend)
+NTAPI
+KeAcquireSpinLock(
+  PKSPIN_LOCK SpinLock,
+  PKIRQL OldIrql)
 {
   UNIMPLEMENTED;
 }
 
 
-VOID
-STDCALL
-KdPortPutByteEx(
-  PKD_PORT_INFORMATION PortInformation,
-  UCHAR ByteToSend)
+KIRQL
+FASTCALL
+KeAcquireSpinLockRaiseToSynch(
+  PKSPIN_LOCK SpinLock)
 {
   UNIMPLEMENTED;
-}
-
 
-VOID
-STDCALL
-KdPortRestore(VOID)
-{
-  UNIMPLEMENTED;
+  return 0;
 }
 
 
 VOID
-STDCALL
-KdPortSave(VOID)
-{
-  UNIMPLEMENTED;
-}
-
-
-BOOLEAN
-STDCALL
-KdPortDisableInterrupts()
-{
-  UNIMPLEMENTED;
-}
-
-
-BOOLEAN
-STDCALL
-KdPortEnableInterrupts()
+FASTCALL
+KeAcquireInStackQueuedSpinLock(
+    IN PKSPIN_LOCK SpinLock,
+    IN PKLOCK_QUEUE_HANDLE LockHandle
+    )
 {
   UNIMPLEMENTED;
 }
 
-
 VOID
-STDCALL
-KeAcquireSpinLock(
-  PKSPIN_LOCK SpinLock,
-  PKIRQL OldIrql)
+FASTCALL
+KeAcquireInStackQueuedSpinLockRaiseToSynch(
+    IN PKSPIN_LOCK SpinLock,
+    IN PKLOCK_QUEUE_HANDLE LockHandle
+    )
 {
-  UNIMPLEMENTED;
+   UNIMPLEMENTED;
 }
 
-
-KIRQL
+VOID
 FASTCALL
-KeAcquireSpinLockRaiseToSynch(
-  PKSPIN_LOCK SpinLock)
+KeReleaseInStackQueuedSpinLock(
+    IN PKLOCK_QUEUE_HANDLE LockHandle
+    )
 {
   UNIMPLEMENTED;
 }
 
-
 VOID
-STDCALL
+NTAPI
 KeFlushWriteBuffer(VOID)
 {
   UNIMPLEMENTED;
 }
 
-
+#undef KeGetCurrentIrql
 KIRQL
-STDCALL 
+NTAPI
 KeGetCurrentIrql(VOID)
 {
   UNIMPLEMENTED;
@@ -729,9 +794,9 @@ KeGetCurrentIrql(VOID)
   return (KIRQL)0;
 }
 
-
+#undef KeLowerIrql
 VOID
-STDCALL
+NTAPI
 KeLowerIrql(
   KIRQL NewIrql)
 {
@@ -740,7 +805,7 @@ KeLowerIrql(
 
 
 LARGE_INTEGER
-STDCALL
+NTAPI
 KeQueryPerformanceCounter(
   PLARGE_INTEGER PerformanceFreq)
 {
@@ -753,9 +818,9 @@ KeQueryPerformanceCounter(
   return Value;
 }
 
-
+#undef KeRaiseIrql
 VOID
-STDCALL
+NTAPI
 KeRaiseIrql(
   KIRQL NewIrql,
   PKIRQL OldIrql)
@@ -765,7 +830,7 @@ KeRaiseIrql(
 
 
 KIRQL
-STDCALL
+NTAPI
 KeRaiseIrqlToDpcLevel(VOID)
 {
   UNIMPLEMENTED;
@@ -775,7 +840,7 @@ KeRaiseIrqlToDpcLevel(VOID)
 
 
 KIRQL
-STDCALL
+NTAPI
 KeRaiseIrqlToSynchLevel(VOID)
 {
   UNIMPLEMENTED;
@@ -783,9 +848,9 @@ KeRaiseIrqlToSynchLevel(VOID)
   return (KIRQL)0;
 }
 
-
+#undef KeReleaseSpinLock
 VOID
-STDCALL
+NTAPI
 KeReleaseSpinLock(
   PKSPIN_LOCK SpinLock,
   KIRQL NewIrql)
@@ -795,7 +860,7 @@ KeReleaseSpinLock(
 
 
 VOID
-STDCALL
+NTAPI
 KeStallExecutionProcessor(
   ULONG Microseconds)
 {
@@ -803,6 +868,30 @@ KeStallExecutionProcessor(
 }
 
 
+LOGICAL
+FASTCALL
+KeTryToAcquireQueuedSpinLock(
+  KSPIN_LOCK_QUEUE_NUMBER LockNumber,
+  PKIRQL OldIrql)
+{
+  UNIMPLEMENTED;
+
+  return FALSE;
+}
+
+
+BOOLEAN
+FASTCALL
+KeTryToAcquireQueuedSpinLockRaiseToSynch(
+  KSPIN_LOCK_QUEUE_NUMBER LockNumber,
+  PKIRQL OldIrql)
+{
+  UNIMPLEMENTED;
+
+  return FALSE;
+}
+
+
 KIRQL
 FASTCALL
 KfAcquireSpinLock(
@@ -843,9 +932,9 @@ KfReleaseSpinLock(
   UNIMPLEMENTED;
 }
 
-
+#if !defined(_M_AMD64)
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_UCHAR(
   PUCHAR Port,
   PUCHAR Buffer,
@@ -856,7 +945,7 @@ READ_PORT_BUFFER_UCHAR(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_ULONG(
   PULONG Port,
   PULONG Buffer,
@@ -867,7 +956,7 @@ READ_PORT_BUFFER_ULONG(
 
 
 VOID
-STDCALL
+NTAPI
 READ_PORT_BUFFER_USHORT(
   PUSHORT Port,
   PUSHORT Buffer,
@@ -878,7 +967,7 @@ READ_PORT_BUFFER_USHORT(
 
 
 UCHAR
-STDCALL
+NTAPI
 READ_PORT_UCHAR(
   PUCHAR Port)
 {
@@ -889,7 +978,7 @@ READ_PORT_UCHAR(
 
 
 ULONG
-STDCALL
+NTAPI
 READ_PORT_ULONG(
   PULONG Port)
 {
@@ -900,7 +989,7 @@ READ_PORT_ULONG(
 
 
 USHORT
-STDCALL
+NTAPI
 READ_PORT_USHORT(
   PUSHORT Port)
 {
@@ -911,7 +1000,7 @@ READ_PORT_USHORT(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_UCHAR(
   PUCHAR Port,
   PUCHAR Buffer,
@@ -922,7 +1011,7 @@ WRITE_PORT_BUFFER_UCHAR(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_USHORT(
   PUSHORT Port,
   PUSHORT Buffer,
@@ -933,7 +1022,7 @@ WRITE_PORT_BUFFER_USHORT(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_BUFFER_ULONG(
   PULONG Port,
   PULONG Buffer,
@@ -944,7 +1033,7 @@ WRITE_PORT_BUFFER_ULONG(
 
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_UCHAR(
   PUCHAR Port,
   UCHAR Value)
@@ -953,7 +1042,7 @@ WRITE_PORT_UCHAR(
 }
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_ULONG(
   PULONG Port,
   ULONG Value)
@@ -962,12 +1051,56 @@ WRITE_PORT_ULONG(
 }
 
 VOID
-STDCALL
+NTAPI
 WRITE_PORT_USHORT(
   PUSHORT Port,
   USHORT Value)
 {
   UNIMPLEMENTED;
 }
+#endif
+
+KIRQL
+FASTCALL
+KeAcquireQueuedSpinLock(IN PKLOCK_QUEUE_HANDLE LockHandle)
+{
+  UNIMPLEMENTED;
+  return (KIRQL)0;
+}
+
+KIRQL
+FASTCALL
+KeAcquireQueuedSpinLockRaiseToSynch(IN PKLOCK_QUEUE_HANDLE LockHandle)
+{
+    UNIMPLEMENTED;
+    return (KIRQL)0;
+}
+
+VOID
+FASTCALL
+KeReleaseQueuedSpinLock(IN PKLOCK_QUEUE_HANDLE LockHandle,
+                        IN KIRQL OldIrql)
+{
+  UNIMPLEMENTED;
+}
+
+VOID
+HalSweepDcache(VOID)
+{
+  UNIMPLEMENTED;
+}
+
+VOID
+HalSweepIcache(VOID)
+{
+    UNIMPLEMENTED;
+}
+
+ULONG
+HalGetInterruptSource(VOID)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
 
 /* EOF */