3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
6 * PURPOSE: Hardware Abstraction Layer DLL
7 * PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
9 * 01-08-2001 CSH Created
12 /* INCLUDES ******************************************************************/
14 #include <ddk/ntddk.h>
18 #include <internal/debug.h>
20 /* DATA **********************************************************************/
22 ULONG EXPORTED KdComPortInUse
= 0;
24 /* FUNCTIONS *****************************************************************/
29 PDRIVER_OBJECT DriverObject
,
30 PUNICODE_STRING RegistryPath
)
34 return STATUS_SUCCESS
;
41 PFAST_MUTEX FastMutex
)
50 PFAST_MUTEX FastMutex
)
57 ExTryToAcquireFastMutex(
58 PFAST_MUTEX FastMutex
)
68 HalAcquireDisplayOwnership(
69 PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters
)
77 HalAdjustResourceList(
78 PCM_RESOURCE_LIST Resources
)
82 return STATUS_SUCCESS
;
88 HalAllProcessorsStarted(VOID
)
98 HalAllocateAdapterChannel(
99 PADAPTER_OBJECT AdapterObject
,
100 PWAIT_CONTEXT_BLOCK WaitContextBlock
,
101 ULONG NumberOfMapRegisters
,
102 PDRIVER_CONTROL ExecutionRoutine
)
106 return STATUS_SUCCESS
;
112 HalAllocateCommonBuffer(
113 PADAPTER_OBJECT AdapterObject
,
115 PPHYSICAL_ADDRESS LogicalAddress
,
116 BOOLEAN CacheEnabled
)
126 HalAssignSlotResources(
127 PUNICODE_STRING RegistryPath
,
128 PUNICODE_STRING DriverClassName
,
129 PDRIVER_OBJECT DriverObject
,
130 PDEVICE_OBJECT DeviceObject
,
131 INTERFACE_TYPE BusType
,
134 PCM_RESOURCE_LIST
*AllocatedResources
)
144 HalBeginSystemInterrupt (ULONG Vector
,
156 HalCalibratePerformanceCounter(
165 HalDisableSystemInterrupt(
186 HalEnableSystemInterrupt(
189 KINTERRUPT_MODE InterruptMode
)
199 HalEndSystemInterrupt(
209 HalFlushCommonBuffer(
228 PADAPTER_OBJECT AdapterObject
,
230 PHYSICAL_ADDRESS LogicalAddress
,
231 PVOID VirtualAddress
,
232 BOOLEAN CacheEnabled
)
241 PDEVICE_DESCRIPTION DeviceDescription
,
242 PULONG NumberOfMapRegisters
)
246 return (PADAPTER_OBJECT
)NULL
;
253 BUS_DATA_TYPE BusDataType
,
267 HalGetBusDataByOffset(
268 BUS_DATA_TYPE BusDataType
,
283 HalGetEnvironmentVariable(
296 HalGetInterruptVector(
297 INTERFACE_TYPE InterfaceType
,
299 ULONG BusInterruptLevel
,
300 ULONG BusInterruptVector
,
323 PLOADER_PARAMETER_BLOCK LoaderBlock
)
333 HalInitializeProcessor(
334 ULONG ProcessorNumber
,
335 PVOID ProcessorStack
)
354 HalProcessorIdle(VOID
)
362 HalQueryDisplayParameters(
374 HalQueryRealTimeClock(
384 PADAPTER_OBJECT AdapterObject
)
392 HalReportResourceUsage(VOID
)
419 BUS_DATA_TYPE BusDataType
,
433 HalSetBusDataByOffset(
434 BUS_DATA_TYPE BusDataType
,
449 HalSetDisplayParameters(
459 HalSetEnvironmentVariable(
480 HalStartNextProcessor(
492 HalSystemVectorDispatchEntry(
505 HalTranslateBusAddress(
506 INTERFACE_TYPE InterfaceType
,
508 PHYSICAL_ADDRESS BusAddress
,
510 PPHYSICAL_ADDRESS TranslatedAddress
)
520 IoAssignDriveLetters(
521 PLOADER_PARAMETER_BLOCK LoaderBlock
,
522 PSTRING NtDeviceName
,
524 PSTRING NtSystemPathString
)
532 IoFlushAdapterBuffers(
533 PADAPTER_OBJECT AdapterObject
,
535 PVOID MapRegisterBase
,
538 BOOLEAN WriteToDevice
)
548 IoFreeAdapterChannel(
549 PADAPTER_OBJECT AdapterObject
)
558 PADAPTER_OBJECT AdapterObject
,
559 PVOID MapRegisterBase
,
560 ULONG NumberOfMapRegisters
)
569 PADAPTER_OBJECT AdapterObject
,
571 PVOID MapRegisterBase
,
574 BOOLEAN WriteToDevice
)
576 PHYSICAL_ADDRESS Address
;
580 Address
.QuadPart
= 0;
600 PKD_PORT_INFORMATION PortInformation
,
612 PKD_PORT_INFORMATION PortInformation
,
636 PKD_PORT_INFORMATION PortInformation
,
657 PKD_PORT_INFORMATION PortInformation
,
682 KdPortDisableInterrupts()
690 KdPortEnableInterrupts()
699 PKSPIN_LOCK SpinLock
,
708 KeAcquireSpinLockRaiseToSynch(
709 PKSPIN_LOCK SpinLock
)
717 KeFlushWriteBuffer(VOID
)
725 KeGetCurrentIrql(VOID
)
744 KeQueryPerformanceCounter(
745 PLARGE_INTEGER PerformanceFreq
)
769 KeRaiseIrqlToDpcLevel(VOID
)
779 KeRaiseIrqlToSynchLevel(VOID
)
790 PKSPIN_LOCK SpinLock
,
799 KeStallExecutionProcessor(
809 PKSPIN_LOCK SpinLock
)
840 PKSPIN_LOCK SpinLock
,
849 READ_PORT_BUFFER_UCHAR(
860 READ_PORT_BUFFER_ULONG(
871 READ_PORT_BUFFER_USHORT(
915 WRITE_PORT_BUFFER_UCHAR(
926 WRITE_PORT_BUFFER_USHORT(
937 WRITE_PORT_BUFFER_ULONG(