2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: ntoskrnl/fstub/halstub.c
5 * PURPOSE: I/O Stub HAL Routines
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
7 Pierre Schweitzer (pierre.schweitzer@reactos.org)
10 /* INCLUDES ******************************************************************/
16 /* GLOBALS *******************************************************************/
18 HAL_DISPATCH HalDispatchTable
=
21 xHalQuerySystemInformation
,
22 xHalSetSystemInformation
,
26 xHalIoAssignDriveLetters
,
27 xHalIoReadPartitionTable
,
28 xHalIoSetPartitionInformation
,
29 xHalIoWritePartitionTable
,
34 xHalInitPowerManagement
,
35 (pHalGetDmaAdapter
) NULL
,
36 xHalGetInterruptTranslator
,
39 xHalMirrorPhysicalMemory
,
41 xHalMirrorPhysicalMemory
44 HAL_PRIVATE_DISPATCH HalPrivateDispatchTable
=
46 HAL_PRIVATE_DISPATCH_VERSION
,
48 (pHalHandlerForConfigSpace
)xHalHandlerForBus
,
49 xHalLocateHiberRanges
,
50 xHalRegisterBusHandler
,
53 xHalTranslateBusAddress
,
54 (pHalAssignSlotResources
)xHalTranslateBusAddress
,
56 (pHalFindBusAddressTranslation
)NULL
,
57 (pHalResetDisplay
)NULL
,
58 xHalAllocateMapRegisters
,
59 xKdSetupPciDeviceForDebugging
,
60 xKdReleasePciDeviceForDebugging
,
62 (pKdCheckPowerButton
)xHalReferenceHandler
,
64 (pKdMapPhysicalMemory64
)MatchAll
,
65 (pKdUnmapVirtualAddress
)xKdUnmapVirtualAddress
68 /* FUNCTIONS *****************************************************************/
72 xHalVectorToIDTEntry(IN ULONG Vector
)
74 /* Return the vector */
98 xHalSetWakeEnable(IN BOOLEAN Enable
)
106 xHalHandlerForBus(IN INTERFACE_TYPE InterfaceType
,
114 xHalReferenceHandler(IN PBUS_HANDLER BusHandler
)
122 xHalInitPnpDriver(VOID
)
124 return STATUS_NOT_SUPPORTED
;
129 xHalInitPowerManagement(IN PPM_DISPATCH_TABLE PmDriverDispatchTable
,
130 OUT PPM_DISPATCH_TABLE
*PmHalDispatchTable
)
132 return STATUS_NOT_SUPPORTED
;
137 xHalStartMirroring(VOID
)
141 return STATUS_NOT_SUPPORTED
;
146 xHalEndMirroring(IN ULONG PassNumber
)
148 return STATUS_NOT_SUPPORTED
;
153 xHalMirrorPhysicalMemory(IN PHYSICAL_ADDRESS PhysicalAddress
,
154 IN LARGE_INTEGER NumberOfBytes
)
156 return STATUS_NOT_SUPPORTED
;
161 xHalQueryBusSlots(IN PBUS_HANDLER BusHandler
,
163 OUT PULONG SlotNumbers
,
164 OUT PULONG ReturnedLength
)
168 return STATUS_NOT_SUPPORTED
;
173 xHalSetSystemInformation(IN HAL_SET_INFORMATION_CLASS InformationClass
,
179 return STATUS_INVALID_LEVEL
;
184 xHalQuerySystemInformation(IN HAL_QUERY_INFORMATION_CLASS InformationClass
,
187 OUT PULONG ReturnedLength
)
191 return STATUS_INVALID_LEVEL
;
196 xHalLocateHiberRanges(IN PVOID MemoryMap
)
204 xHalRegisterBusHandler(IN INTERFACE_TYPE InterfaceType
,
205 IN BUS_DATA_TYPE ConfigSpace
,
207 IN INTERFACE_TYPE ParentInterfaceType
,
208 IN ULONG ParentBusNumber
,
209 IN ULONG ContextSize
,
210 IN PINSTALL_BUS_HANDLER InstallCallback
,
211 OUT PBUS_HANDLER
*BusHandler
)
215 return STATUS_NOT_SUPPORTED
;
220 xHalSetWakeAlarm(IN ULONGLONG AlartTime
,
221 IN PTIME_FIELDS TimeFields
)
229 xHalTranslateBusAddress(IN INTERFACE_TYPE InterfaceType
,
231 IN PHYSICAL_ADDRESS BusAddress
,
232 IN OUT PULONG AddressSpace
,
233 OUT PPHYSICAL_ADDRESS TranslatedAddress
)
235 KeBugCheckEx(HAL_INITIALIZATION_FAILED
, 0, 0, 0, 0);
242 xHalAllocateMapRegisters(IN PADAPTER_OBJECT AdapterObject
,
245 PMAP_REGISTER_ENTRY Registers
)
249 return STATUS_NOT_IMPLEMENTED
;
254 xKdSetupPciDeviceForDebugging(IN PVOID LoaderBlock OPTIONAL
,
255 IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice
)
257 return STATUS_NOT_IMPLEMENTED
;
262 xKdReleasePciDeviceForDebugging(IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice
)
264 return STATUS_NOT_IMPLEMENTED
;
269 xKdGetAcpiTablePhase(IN
struct _LOADER_PARAMETER_BLOCK
*LoaderBlock
,
277 MatchAll(IN PHYSICAL_ADDRESS PhysicalAddress
,
278 IN ULONG NumberPages
,
279 IN BOOLEAN FlushCurrentTLB
)
286 xKdUnmapVirtualAddress(IN PVOID VirtualAddress
,
287 IN ULONG NumberPages
,
288 IN BOOLEAN FlushCurrentTLB
)