ReactOS 0.4.15-dev-7958-gcd0bb1a
halstub.c
Go to the documentation of this file.
1/*
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)
8*/
9
10/* INCLUDES ******************************************************************/
11
12#include <ntoskrnl.h>
13#define NDEBUG
14#include <debug.h>
15
16/* GLOBALS *******************************************************************/
17
19{
24 0,
42};
43
45{
66};
67
68/* FUNCTIONS *****************************************************************/
69
73{
74 /* Return the vector */
75 return (UCHAR)Vector;
76}
77
78VOID
81{
82 /* Halt execution */
83 while (TRUE);
84}
85
86VOID
89{
90 PAGED_CODE();
91
92 /* Nothing */
93 return;
94}
95
96VOID
99{
100 /* Nothing */
101 return;
102}
103
108{
109 return NULL;
110}
111
112VOID
115{
116 /* Nothing */
117 return;
118}
119
121NTAPI
123{
125}
126
128NTAPI
130 OUT PPM_DISPATCH_TABLE *PmHalDispatchTable)
131{
133}
134
136NTAPI
138{
139 PAGED_CODE();
140
142}
143
145NTAPI
147{
149}
150
152NTAPI
155{
157}
158
160NTAPI
163 OUT PULONG SlotNumbers,
165{
166 PAGED_CODE();
167
169}
170
172NTAPI
176{
177 PAGED_CODE();
178
180}
181
183NTAPI
188{
189 PAGED_CODE();
190
192}
193
194VOID
195NTAPI
197{
198 /* Nothing */
199 return;
200}
201
203NTAPI
205 IN BUS_DATA_TYPE ConfigSpace,
207 IN INTERFACE_TYPE ParentInterfaceType,
208 IN ULONG ParentBusNumber,
211 OUT PBUS_HANDLER *BusHandler)
212{
213 PAGED_CODE();
214
216}
217
218VOID
219NTAPI
222{
223 /* Nothing */
224 return;
225}
226
228NTAPI
234{
235 KeBugCheckEx(HAL_INITIALIZATION_FAILED, 0, 0, 0, 0);
236
237 return FALSE;
238}
239
241NTAPI
244 IN ULONG Unknown2,
245 PMAP_REGISTER_ENTRY Registers)
246{
247 PAGED_CODE();
248
250}
251
253NTAPI
256{
258}
259
261NTAPI
263{
265}
266
267PVOID
268NTAPI
271{
272 return NULL;
273}
274
275PVOID
276NTAPI
278 IN ULONG NumberPages,
279 IN BOOLEAN FlushCurrentTLB)
280{
281 return NULL;
282}
283
284VOID
285NTAPI
287 IN ULONG NumberPages,
288 IN BOOLEAN FlushCurrentTLB)
289{
290 /* Nothing */
291 return;
292}
#define PAGED_CODE()
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
_In_ ULONG _In_ BATTERY_QUERY_INFORMATION_LEVEL _In_ LONG _In_ ULONG _Out_ PULONG ReturnedLength
Definition: batclass.h:188
BIOS_MEMORY_MAP MemoryMap[32]
Definition: loader.c:11
NTSTATUS FASTCALL xHalIoReadPartitionTable(IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN BOOLEAN ReturnRecognizedPartitions, OUT PDRIVE_LAYOUT_INFORMATION *PartitionBuffer)
Definition: halstub.c:17
HAL_PRIVATE_DISPATCH HalPrivateDispatchTable
Definition: halstub.c:75
UCHAR NTAPI xHalVectorToIDTEntry(IN ULONG Vector)
Definition: halstub.c:31
VOID NTAPI xHalHaltSystem(VOID)
Definition: halstub.c:39
HAL_DISPATCH HalDispatchTable
Definition: halstub.c:47
Definition: bufpool.h:45
VOID FASTCALL xHalIoAssignDriveLetters(IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN PSTRING NtDeviceName, OUT PUCHAR NtSystemPath, OUT PSTRING NtSystemPathString)
Definition: disksup.c:912
VOID FASTCALL xHalExamineMBR(IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN ULONG MbrTypeIdentifier, OUT PVOID *MbrBuffer)
Definition: disksup.c:1643
NTSTATUS FASTCALL xHalIoSetPartitionInformation(IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN ULONG PartitionNumber, IN ULONG PartitionType)
Definition: disksup.c:2200
NTSTATUS FASTCALL xHalIoWritePartitionTable(IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN ULONG SectorsPerTrack, IN ULONG NumberOfHeads, IN PDRIVE_LAYOUT_INFORMATION PartitionBuffer)
Definition: disksup.c:2387
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
static const WCHAR Signature[]
Definition: parser.c:141
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE _In_ SIZE_T ContextSize
Definition: fltkernel.h:1444
_In_ FILTER_INFORMATION_CLASS InformationClass
Definition: fltkernel.h:1713
enum _INTERFACE_TYPE INTERFACE_TYPE
@ Unknown
Definition: i8042prt.h:114
static PTIME_FIELDS TimeFields
Definition: time.c:104
NTSTATUS(NTAPI * PINSTALL_BUS_HANDLER)(_In_ PBUS_HANDLER Bus)
Definition: haltypes.h:54
#define HAL_PRIVATE_DISPATCH_VERSION
Definition: haltypes.h:166
PBUS_HANDLER(FASTCALL * pHalHandlerForConfigSpace)(_In_ BUS_DATA_TYPE ConfigSpace, _In_ ULONG BusNumber)
Definition: haltypes.h:47
#define FASTCALL
Definition: nt_native.h:50
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
NTSTATUS NTAPI xHalQuerySystemInformation(IN HAL_QUERY_INFORMATION_CLASS InformationClass, IN ULONG BufferSize, IN OUT PVOID Buffer, OUT PULONG ReturnedLength)
Definition: halstub.c:184
PBUS_HANDLER FASTCALL xHalHandlerForBus(IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber)
Definition: halstub.c:106
VOID NTAPI xKdUnmapVirtualAddress(IN PVOID VirtualAddress, IN ULONG NumberPages, IN BOOLEAN FlushCurrentTLB)
Definition: halstub.c:286
VOID NTAPI xHalLocateHiberRanges(IN PVOID MemoryMap)
Definition: halstub.c:196
NTSTATUS NTAPI xHalMirrorPhysicalMemory(IN PHYSICAL_ADDRESS PhysicalAddress, IN LARGE_INTEGER NumberOfBytes)
Definition: halstub.c:153
VOID NTAPI xHalSetWakeAlarm(IN ULONGLONG AlartTime, IN PTIME_FIELDS TimeFields)
Definition: halstub.c:220
NTSTATUS NTAPI xHalInitPowerManagement(IN PPM_DISPATCH_TABLE PmDriverDispatchTable, OUT PPM_DISPATCH_TABLE *PmHalDispatchTable)
Definition: halstub.c:129
NTSTATUS NTAPI xHalStartMirroring(VOID)
Definition: halstub.c:137
NTSTATUS NTAPI xKdReleasePciDeviceForDebugging(IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice)
Definition: halstub.c:262
VOID FASTCALL xHalReferenceHandler(IN PBUS_HANDLER BusHandler)
Definition: halstub.c:114
NTSTATUS NTAPI xHalInitPnpDriver(VOID)
Definition: halstub.c:122
VOID NTAPI xHalSetWakeEnable(IN BOOLEAN Enable)
Definition: halstub.c:98
NTSTATUS NTAPI xKdSetupPciDeviceForDebugging(IN PVOID LoaderBlock OPTIONAL, IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice)
Definition: halstub.c:254
NTSTATUS NTAPI xHalEndMirroring(IN ULONG PassNumber)
Definition: halstub.c:146
PVOID NTAPI xKdGetAcpiTablePhase(IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock, IN ULONG Signature)
Definition: halstub.c:269
NTSTATUS NTAPI xHalQueryBusSlots(IN PBUS_HANDLER BusHandler, IN ULONG BufferSize, OUT PULONG SlotNumbers, OUT PULONG ReturnedLength)
Definition: halstub.c:161
NTSTATUS NTAPI xHalSetSystemInformation(IN HAL_SET_INFORMATION_CLASS InformationClass, IN ULONG BufferSize, IN PVOID Buffer)
Definition: halstub.c:173
NTSTATUS NTAPI xHalRegisterBusHandler(IN INTERFACE_TYPE InterfaceType, IN BUS_DATA_TYPE ConfigSpace, IN ULONG BusNumber, IN INTERFACE_TYPE ParentInterfaceType, IN ULONG ParentBusNumber, IN ULONG ContextSize, IN PINSTALL_BUS_HANDLER InstallCallback, OUT PBUS_HANDLER *BusHandler)
Definition: halstub.c:204
BOOLEAN NTAPI xHalTranslateBusAddress(IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber, IN PHYSICAL_ADDRESS BusAddress, IN OUT PULONG AddressSpace, OUT PPHYSICAL_ADDRESS TranslatedAddress)
Definition: halstub.c:229
VOID NTAPI xHalEndOfBoot(VOID)
Definition: halstub.c:88
PVOID NTAPI MatchAll(IN PHYSICAL_ADDRESS PhysicalAddress, IN ULONG NumberPages, IN BOOLEAN FlushCurrentTLB)
Definition: halstub.c:277
NTSTATUS NTAPI xHalAllocateMapRegisters(IN PADAPTER_OBJECT AdapterObject, IN ULONG Unknown, IN ULONG Unknown2, PMAP_REGISTER_ENTRY Registers)
Definition: halstub.c:242
#define STATUS_INVALID_LEVEL
Definition: ntstatus.h:564
#define STATUS_NOT_SUPPORTED
Definition: ntstatus.h:423
#define STATUS_NOT_IMPLEMENTED
Definition: ntstatus.h:239
VOID NTAPI KeBugCheckEx(_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)
Definition: rtlcompat.c:108
enum _BUS_DATA_TYPE BUS_DATA_TYPE
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
Definition: haltypes.h:185
NTSTATUS NTAPI xHalGetInterruptTranslator(IN INTERFACE_TYPE ParentInterfaceType, IN ULONG ParentBusNumber, IN INTERFACE_TYPE BridgeInterfaceType, IN USHORT Size, IN USHORT Version, OUT PTRANSLATOR_INTERFACE Translator, OUT PULONG BridgeBusNumber)
Definition: translate.c:156
uint32_t * PULONG
Definition: typedefs.h:59
#define NTAPI
Definition: typedefs.h:36
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
#define OUT
Definition: typedefs.h:40
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
Definition: wdffdo.h:463
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
Definition: halfuncs.h:160
NTSTATUS(NTAPI * pHalAssignSlotResources)(_In_ PUNICODE_STRING RegistryPath, _In_opt_ PUNICODE_STRING DriverClassName, _In_ PDRIVER_OBJECT DriverObject, _In_ PDEVICE_OBJECT DeviceObject, _In_ INTERFACE_TYPE BusType, _In_ ULONG BusNumber, _In_ ULONG SlotNumber, _Inout_ PCM_RESOURCE_LIST *AllocatedResources)
Definition: haltypes.h:169
BOOLEAN(NTAPI * pHalResetDisplay)(VOID)
Definition: haltypes.h:183
struct _DMA_ADAPTER *NTAPI * pHalGetDmaAdapter(_In_ PVOID Context, _In_ struct _DEVICE_DESCRIPTION *DeviceDescriptor, _Out_ PULONG NumberOfMapRegisters)
Definition: haltypes.h:128
enum _HAL_SET_INFORMATION_CLASS HAL_SET_INFORMATION_CLASS
#define HAL_DISPATCH_VERSION
Definition: haltypes.h:290
enum _HAL_QUERY_INFORMATION_CLASS HAL_QUERY_INFORMATION_CLASS
BOOLEAN(NTAPI * pHalFindBusAddressTranslation)(_In_ PHYSICAL_ADDRESS BusAddress, _Inout_ PULONG AddressSpace, _Out_ PPHYSICAL_ADDRESS TranslatedAddress, _Inout_ PULONG_PTR Context, _In_ BOOLEAN NextBus)
Definition: haltypes.h:195
_In_ ULONG _In_ PHYSICAL_ADDRESS BusAddress
Definition: iofuncs.h:2273
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG _Out_ PPHYSICAL_ADDRESS TranslatedAddress
Definition: iofuncs.h:2275
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG AddressSpace
Definition: iofuncs.h:2274
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress
Definition: iotypes.h:1098
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1036
PVOID(NTAPI * pKdMapPhysicalMemory64)(_In_ PHYSICAL_ADDRESS PhysicalAddress, _In_ ULONG NumberPages, _In_ BOOLEAN FlushCurrentTLB)
Definition: kdtypes.h:138
VOID(NTAPI * pKdUnmapVirtualAddress)(_In_ PVOID VirtualAddress, _In_ ULONG NumberPages, _In_ BOOLEAN FlushCurrentTLB)
Definition: kdtypes.h:144
VOID(NTAPI * pKdCheckPowerButton)(VOID)
Definition: kdtypes.h:134
unsigned char UCHAR
Definition: xmlstorage.h:181