ReactOS  0.4.15-dev-2355-gaf9df93
halp.h
Go to the documentation of this file.
1 /*
2  *
3  */
4 
5 #pragma once
6 
7 #ifdef CONFIG_SMP
8 #define HAL_BUILD_TYPE (DBG ? PRCB_BUILD_DEBUG : 0)
9 #else
10 #define HAL_BUILD_TYPE ((DBG ? PRCB_BUILD_DEBUG : 0) | PRCB_BUILD_UNIPROCESSOR)
11 #endif
12 
13 typedef struct _HAL_BIOS_FRAME
14 {
29 
30 typedef
31 VOID
33  VOID
34 );
35 
36 typedef
37 VOID
39  IN PKTRAP_FRAME TrapFrame
40 );
41 
42 #define HAL_APC_REQUEST 0
43 #define HAL_DPC_REQUEST 1
44 
45 /* HAL profiling offsets in KeGetPcr()->HalReserved[] */
46 #define HAL_PROFILING_INTERVAL 0
47 #define HAL_PROFILING_MULTIPLIER 1
48 
49 /* Usage flags */
50 #define IDT_REGISTERED 0x01
51 #define IDT_LATCHED 0x02
52 #define IDT_READ_ONLY 0x04
53 #define IDT_INTERNAL 0x11
54 #define IDT_DEVICE 0x21
55 
56 /* Conversion functions */
57 #define BCD_INT(bcd) \
58  (((bcd & 0xF0) >> 4) * 10 + (bcd & 0x0F))
59 #define INT_BCD(int) \
60  (UCHAR)(((int / 10) << 4) + (int % 10))
61 
62 typedef
63 BOOLEAN
65  IN KIRQL Irql,
66  IN ULONG Irq,
68 );
69 
70 BOOLEAN
71 NTAPI
73  IN KIRQL Irql,
74  IN ULONG Irq,
76 );
77 
78 BOOLEAN
79 NTAPI
81  IN KIRQL Irql,
82  IN ULONG Irq,
84 );
85 
86 BOOLEAN
87 NTAPI
89  IN KIRQL Irql,
90  IN ULONG Irq,
92 );
93 
94 BOOLEAN
95 NTAPI
97  IN KIRQL Irql,
98  IN ULONG Irq,
100 );
101 
102 BOOLEAN
103 NTAPI
105  IN KIRQL Irql,
106  IN ULONG Irq,
108 );
109 
110 BOOLEAN
111 NTAPI
113  IN KIRQL Irql,
114  IN ULONG Irq,
116 );
117 
118 BOOLEAN
119 NTAPI
121  IN KIRQL Irql,
122  IN ULONG Irq,
124 );
125 
126 BOOLEAN
127 NTAPI
129  IN KIRQL Irql,
130  IN ULONG Irq,
132 );
133 
134 VOID
135 __cdecl
137  VOID
138 );
139 
140 //
141 // Hack Flags
142 //
143 #define HALP_REVISION_FROM_HACK_FLAGS(x) ((x) >> 24)
144 #define HALP_REVISION_HACK_FLAGS(x) ((x) >> 12)
145 #define HALP_HACK_FLAGS(x) ((x) & 0xFFF)
146 
147 //
148 // Feature flags
149 //
150 #define HALP_CARD_FEATURE_FULL_DECODE 0x0001
151 
152 //
153 // Match Flags
154 //
155 #define HALP_CHECK_CARD_REVISION_ID 0x10000
156 #define HALP_CHECK_CARD_SUBVENDOR_ID 0x20000
157 #define HALP_CHECK_CARD_SUBSYSTEM_ID 0x40000
158 
159 //
160 // Mm PTE/PDE to Hal PTE/PDE
161 //
162 #define HalAddressToPde(x) (PHARDWARE_PTE)MiAddressToPde(x)
163 #define HalAddressToPte(x) (PHARDWARE_PTE)MiAddressToPte(x)
164 
165 typedef struct _IDTUsageFlags
166 {
167  UCHAR Flags;
168 } IDTUsageFlags;
169 
170 typedef struct
171 {
172  KIRQL Irql;
173  UCHAR BusReleativeVector;
174 } IDTUsage;
175 
176 typedef struct _HalAddressUsage
177 {
179  CM_RESOURCE_TYPE Type;
181  struct
182  {
185  } Element[];
187 
188 /* adapter.c */
190 
191 /* sysinfo.c */
192 VOID
193 NTAPI
195  IN ULONG BusVector,
196  IN ULONG SystemVector,
197  IN KIRQL Irql);
198 
199 VOID
200 NTAPI
202  IN ULONG BusVector,
203  IN ULONG SystemVector,
204  IN KIRQL Irql,
205  IN PVOID Handler,
207 
208 /* pic.c */
215 
216 /* profil.c */
218 
219 /* timer.c */
223 
224 typedef struct _HALP_ROLLOVER
225 {
229 
230 VOID
231 NTAPI
233 
234 /* pci.c */
236 
237 /* dma.c */
239 
240 /* Non-generic initialization */
243 
244 VOID
245 NTAPI
247 
248 //
249 // KD Support
250 //
251 VOID
252 NTAPI
254  VOID
255 );
256 
257 VOID
258 NTAPI
260  VOID
261 );
262 
263 NTSTATUS
264 NTAPI
266  IN PVOID LoaderBlock,
268 );
269 
270 NTSTATUS
271 NTAPI
274 );
275 
276 //
277 // Memory routines
278 //
279 ULONG64
280 NTAPI
282  IN PLOADER_PARAMETER_BLOCK LoaderBlock,
283  IN ULONG64 MaxAddress,
284  IN PFN_NUMBER PageCount,
285  IN BOOLEAN Aligned
286 );
287 
288 PVOID
289 NTAPI
292  IN PFN_COUNT PageCount,
293  IN BOOLEAN FlushCurrentTLB
294 );
295 
296 VOID
297 NTAPI
300  IN PFN_COUNT NumberPages,
301  IN BOOLEAN FlushCurrentTLB
302 );
303 
304 PVOID
305 NTAPI
308  IN PFN_COUNT PageCount
309 );
310 
311 VOID
312 NTAPI
315  IN PFN_COUNT NumberPages
316 );
317 
318 /* sysinfo.c */
319 NTSTATUS
320 NTAPI
322  _In_ BOOLEAN IsRead,
323  _In_ ULONG Port,
324  _In_ ULONG Length,
326 );
327 
328 NTSTATUS
329 NTAPI
333  IN OUT PVOID Buffer,
335 );
336 
337 NTSTATUS
338 NTAPI
343 );
344 
345 //
346 // BIOS Routines
347 //
348 BOOLEAN
349 NTAPI
351  VOID
352 );
353 
354 VOID
355 FASTCALL
357  PKTRAP_FRAME TrapFrame
358 );
359 
360 VOID
361 __cdecl
363  VOID
364 );
365 
366 //
367 // Processor Halt Routine
368 //
369 VOID
370 NTAPI
372  VOID
373 );
374 
375 //
376 // CMOS Routines
377 //
378 VOID
379 NTAPI
381  VOID
382 );
383 
385 UCHAR
386 NTAPI
388  IN UCHAR Reg
389 );
390 
392 VOID
393 NTAPI
395  IN UCHAR Reg,
396  IN UCHAR Value
397 );
398 
399 //
400 // Spinlock for protecting CMOS access
401 //
403 VOID
404 NTAPI
406  VOID
407 );
408 
410 VOID
411 NTAPI
413  VOID
414 );
415 
416 VOID
417 NTAPI
419  VOID
420 );
421 
422 NTSTATUS
423 NTAPI
426  IN HANDLE RootKey,
430 );
431 
432 VOID
433 NTAPI
435  VOID
436 );
437 
438 BOOLEAN
439 NTAPI
441  VOID
442 );
443 
444 VOID
445 NTAPI
447  VOID
448 );
449 
450 NTSTATUS
451 NTAPI
453  VOID
454 );
455 
456 VOID
457 NTAPI
459  VOID
460 );
461 
462 VOID
463 NTAPI
467 );
468 
469 ULONG
470 NTAPI
472  VOID
473 );
474 
475 NTSTATUS
476 NTAPI
478  OUT PIO_RESOURCE_REQUIREMENTS_LIST *Requirements
479 );
480 
481 VOID
482 FASTCALL
484  IN PKTRAP_FRAME TrapFrame,
487 );
488 
489 VOID
490 NTAPI
492  VOID
493 );
494 
495 NTSTATUS
496 NTAPI
498  VOID
499 );
500 
501 VOID
502 NTAPI
504  IN ULONG i,
505  IN ULONG j,
506  IN ULONG k,
507  IN PPCI_COMMON_CONFIG PciData
508 );
509 
510 VOID
511 NTAPI
513  IN ULONG ProcessorNumber,
514  IN PLOADER_PARAMETER_BLOCK LoaderBlock
515 );
516 
517 #if defined(SARCH_PC98)
518 BOOLEAN
519 NTAPI
520 HalpDismissIrq08(
521  _In_ KIRQL Irql,
522  _In_ ULONG Irq,
524 );
525 
526 BOOLEAN
527 NTAPI
528 HalpDismissIrq08Level(
529  _In_ KIRQL Irql,
530  _In_ ULONG Irq,
532 );
533 
534 VOID
535 NTAPI
537 
538 extern ULONG PIT_FREQUENCY;
539 #endif /* SARCH_PC98 */
540 
541 #ifdef _M_AMD64
542 
543 VOID
544 NTAPI
546  _In_ ULONG Phase,
547  _In_ PLOADER_PARAMETER_BLOCK LoaderBlock
548 );
549 
550 #define KfLowerIrql KeLowerIrql
551 #define KiEnterInterruptTrap(TrapFrame) /* We do all neccessary in asm code */
552 #define KiEoiHelper(TrapFrame) return /* Just return to the caller */
553 #define HalBeginSystemInterrupt(Irql, Vector, OldIrql) ((*(OldIrql) = PASSIVE_LEVEL), TRUE)
554 #ifndef CONFIG_SMP
555 /* On UP builds, spinlocks don't exist at IRQL >= DISPATCH */
556 #define KiAcquireSpinLock(SpinLock)
557 #define KiReleaseSpinLock(SpinLock)
558 #define KfAcquireSpinLock(SpinLock) KfRaiseIrql(DISPATCH_LEVEL);
559 #define KfReleaseSpinLock(SpinLock, OldIrql) KeLowerIrql(OldIrql);
560 #endif // !CONFIG_SMP
561 #endif // _M_AMD64
562 
564 
566 
568 
570 
572 
574 
577 extern PWCHAR HalName;
578 
580 
582 
583 extern const USHORT HalpBuildType;
ULONG Length
Definition: halp.h:184
ULONG CsLimit
Definition: halp.h:21
NTSTATUS NTAPI HaliQuerySystemInformation(IN HAL_QUERY_INFORMATION_CLASS InformationClass, IN ULONG BufferSize, IN OUT PVOID Buffer, OUT PULONG ReturnedLength)
Definition: sysinfo.c:19
CPPORT Port[4]
Definition: headless.c:35
#define IN
Definition: typedefs.h:39
VOID NTAPI HalInitializeBios(_In_ ULONG Phase, _In_ PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: x86bios.c:48
VOID FORCEINLINE HalpWriteCmos(IN UCHAR Reg, IN UCHAR Value)
Definition: cmos.c:35
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2654
static NTSTATUS EnableInterrupts(IN PPORT_DEVICE_EXTENSION DeviceExtension, IN UCHAR FlagsToDisable, IN UCHAR FlagsToEnable)
Definition: pnp.c:380
VOID FASTCALL HalpExitToV86(PKTRAP_FRAME TrapFrame)
PADAPTER_OBJECT NTAPI HalpAllocateAdapterEx(ULONG NumberOfMapRegisters, BOOLEAN IsMaster, BOOLEAN Dma32BitAddresses)
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
enum _INTERFACE_TYPE INTERFACE_TYPE
static PMEMKEY RootKey
Definition: registry.c:55
VOID NTAPI HalpRegisterVector(IN UCHAR Flags, IN ULONG BusVector, IN ULONG SystemVector, IN KIRQL Irql)
Definition: usage.c:34
_Out_ PULONG NumberOfMapRegisters
Definition: halfuncs.h:209
NTSTATUS NTAPI HalpMarkAcpiHal(VOID)
Definition: misc.c:57
#define __cdecl
Definition: accygwin.h:79
_In_ ULONG Mode
Definition: hubbusif.h:303
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4711
BOOLEAN NTAPI HalpDismissIrqLevel(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:816
ULONG PFN_COUNT
Definition: mmtypes.h:102
VOID HalpClockInterrupt(VOID)
Definition: timer.c:30
NTSTATUS NTAPI HaliHandlePCIConfigSpaceAccess(_In_ BOOLEAN IsRead, _In_ ULONG Port, _In_ ULONG Length, _Inout_ PULONG Buffer)
Definition: sysinfo.c:43
_In_ BOOLEAN Create
Definition: pstypes.h:519
ULONG NTAPI HalpIs16BitPortDecodeSupported(VOID)
Definition: halacpi.c:961
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS NTAPI HalpQueryAcpiResourceRequirements(OUT PIO_RESOURCE_REQUIREMENTS_LIST *Requirements)
Definition: halacpi.c:1016
VOID NTAPI HalpInitializeClockPc98(VOID)
Definition: clock.c:62
ULONG CsBase
Definition: halp.h:22
ULONG SsFlags
Definition: halp.h:26
uint16_t * PWCHAR
Definition: typedefs.h:56
struct _HalAddressUsage::@1514 Element[]
VOID HalpInitializeClock(VOID)
Definition: timer.c:54
PADDRESS_USAGE HalpAddressUsageList
Definition: usage.c:20
VOID NTAPI HalpCheckPowerButton(VOID)
Definition: misc.c:20
#define FASTCALL
Definition: nt_native.h:50
_Out_ PKIRQL Irql
Definition: csq.h:179
#define DECLSPEC_NORETURN
Definition: ntbasedef.h:176
BOOLEAN NTAPI HalpDismissIrq15(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:644
PVOID NTAPI HalpMapPhysicalMemory64Vista(IN PHYSICAL_ADDRESS PhysicalAddress, IN PFN_COUNT PageCount, IN BOOLEAN FlushCurrentTLB)
Definition: memory.c:156
DECLSPEC_NORETURN VOID FASTCALL HalpDispatchInterrupt2ndEntry(IN PKTRAP_FRAME TrapFrame)
Definition: pic.c:1183
ULONG Increment
Definition: halp.h:227
VOID FASTCALL KeUpdateSystemTime(IN PKTRAP_FRAME TrapFrame, IN ULONG Increment, IN KIRQL OldIrql)
Definition: time.c:64
VOID NTAPI HalpBuildAddressMap(VOID)
Definition: halacpi.c:944
UCHAR KIRQL
Definition: env_spec_w32.h:591
VOID HalpInitPhase1(VOID)
Definition: halinit_up.c:26
VOID NTAPI HalpEnableInterruptHandler(IN UCHAR Flags, IN ULONG BusVector, IN ULONG SystemVector, IN KIRQL Irql, IN PVOID Handler, IN KINTERRUPT_MODE Mode)
Definition: usage.c:49
ULONG PFN_NUMBER
Definition: ke.h:9
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
VOID NTAPI HalpReleaseCmosSpinLock(VOID)
Definition: spinlock.c:244
NTSTATUS NTAPI HalpSetupPciDeviceForDebugging(IN PVOID LoaderBlock, IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice)
Definition: pci.c:473
VOID NTAPI HalpUnmapVirtualAddress(IN PVOID VirtualAddress, IN ULONG NumberPages)
Definition: misc.c:39
PWCHAR HalName
Definition: halacpi.c:45
struct _HAL_BIOS_FRAME HAL_BIOS_FRAME
DECLSPEC_NORETURN VOID FASTCALL HalpApcInterrupt2ndEntry(IN PKTRAP_FRAME TrapFrame)
Definition: pic.c:1134
ULONG Start
Definition: halp.h:183
VOID __cdecl HalpDispatchInterrupt(VOID)
ULONG Esp
Definition: halp.h:16
unsigned char BOOLEAN
BOOLEAN HalDisableFirmwareMapper
Definition: halacpi.c:43
VOID HalpProfileInterrupt(VOID)
enum _KINTERRUPT_MODE KINTERRUPT_MODE
UCHAR Flags
Definition: halp.h:26
#define _Out_
Definition: no_sal2.h:160
UCHAR FORCEINLINE HalpReadCmos(IN UCHAR Reg)
Definition: cmos.c:24
VOID(FASTCALL * PHAL_SW_INTERRUPT_HANDLER_2ND_ENTRY)(IN PKTRAP_FRAME TrapFrame)
Definition: halp.h:38
ULONG EFlags
Definition: halp.h:17
Definition: bufpool.h:45
ULONG SsBase
Definition: halp.h:25
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
VOID NTAPI HalpFlushTLB(VOID)
Definition: misc.c:156
BOOLEAN NTAPI HalpBiosDisplayReset(VOID)
Definition: x86bios.c:493
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
Definition: wdfdevice.h:2697
CM_RESOURCE_TYPE Type
Definition: halp.h:179
enum _HAL_QUERY_INFORMATION_CLASS HAL_QUERY_INFORMATION_CLASS
VOID HalpInitPciBus(VOID)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:406
VOID HalpInitPhase0(PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: halinit_mp.c:31
VOID NTAPI HalpInitializeCmos(VOID)
Definition: cmos.c:159
ULONG CsFlags
Definition: halp.h:23
BOOLEAN HalpProfilingStopped
Definition: profil.c:18
NTSTATUS NTAPI HalpReleasePciDeviceForDebugging(IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice)
Definition: pci.c:482
_Acquires_lock_(HalpSystemHardwareLock) VOID NTAPI HalpAcquireCmosSpinLock(VOID)
VOID NTAPI HalpCalibrateStallExecution(VOID)
Definition: pchw.c:105
KAFFINITY HalpActiveProcessors
Definition: processor.c:17
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
struct _HalAddressUsage * PADDRESS_USAGE
ULONG SegSs
Definition: halp.h:15
ULONG SegCs
Definition: halp.h:18
ADDRESS_USAGE HalpDefaultIoSpace
Definition: usage.c:42
const USHORT HalpBuildType
Definition: halinit.c:21
VOID NTAPI HalpAcquireCmosSpinLock(VOID)
Definition: spinlock.c:227
struct _HAL_BIOS_FRAME * PHAL_BIOS_FRAME
#define _Inout_
Definition: no_sal2.h:162
ULONG RollOver
Definition: halp.h:226
KSPIN_LOCK HalpSystemHardwareLock
Definition: cmos.c:18
ULONG SsLimit
Definition: halp.h:24
NTSTATUS NTAPI HaliInitPnpDriver(VOID)
Definition: halpnpdd.c:886
BOOLEAN NTAPI HalpDismissIrq15Level(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:826
PWCHAR HalHardwareIdString
Definition: halacpi.c:44
unsigned __int64 ULONG64
Definition: imports.h:198
enum _HAL_SET_INFORMATION_CLASS HAL_SET_INFORMATION_CLASS
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress
Definition: iotypes.h:1098
unsigned char UCHAR
Definition: xmlstorage.h:181
struct _IDTUsageFlags IDTUsageFlags
ULONG Eip
Definition: halp.h:19
VOID __cdecl HalpApcInterrupt(VOID)
KAFFINITY HalpDefaultInterruptAffinity
Definition: processor.c:18
_Releases_lock_(HalpSystemHardwareLock) VOID NTAPI HalpReleaseCmosSpinLock(VOID)
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:790
struct _HalAddressUsage ADDRESS_USAGE
LARGE_INTEGER HalpPerfCounter
Definition: timer.c:23
VOID NTAPI HalpInitBusHandlers(VOID)
Definition: halacpi.c:935
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
#define VOID
Definition: acefi.h:82
_In_ ULONG _In_ BATTERY_QUERY_INFORMATION_LEVEL _In_ LONG _In_ ULONG _Out_ PULONG ReturnedLength
Definition: batclass.h:187
KIRQL * PKIRQL
Definition: env_spec_w32.h:592
VOID NTAPI HalpUnmapVirtualAddressVista(IN PVOID VirtualAddress, IN PFN_COUNT NumberPages, IN BOOLEAN FlushCurrentTLB)
Definition: memory.c:227
BOOLEAN NTAPI HalpDismissIrqGeneric(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:634
UCHAR Flags
Definition: halp.h:180
ULONG64 NTAPI HalpAllocPhysicalMemory(IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN ULONG64 MaxAddress, IN PFN_NUMBER PageCount, IN BOOLEAN Aligned)
Definition: memory.c:29
BOOLEAN NTAPI HalpDismissIrq13(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:679
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER Handler
Definition: acpixf.h:668
VOID NTAPI HalpDebugPciDumpBus(IN ULONG i, IN ULONG j, IN ULONG k, IN PPCI_COMMON_CONFIG PciData)
Definition: bussupp.c:702
VOID NTAPI HalpGetNMICrashFlag(VOID)
Definition: usage.c:587
PHAL_SW_INTERRUPT_HANDLER __cdecl HalpDispatchInterrupt2(VOID)
Definition: pic.c:1199
#define _In_
Definition: no_sal2.h:158
NTSTATUS NTAPI HalpOpenRegistryKey(IN PHANDLE KeyHandle, IN HANDLE RootKey, IN PUNICODE_STRING KeyName, IN ACCESS_MASK DesiredAccess, IN BOOLEAN Create)
Definition: misc.c:104
_Requires_lock_held_(HalpSystemHardwareLock) UCHAR NTAPI HalpReadCmos(IN UCHAR Reg)
VOID NTAPI HalpReportSerialNumber(VOID)
Definition: misc.c:26
ULONG PIT_FREQUENCY
Definition: clock.c:17
VOID NTAPI HaliHaltSystem(VOID)
Definition: processor.c:21
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
unsigned short USHORT
Definition: pedump.c:61
BOOLEAN NTAPI HalpDismissIrq13Level(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:861
ULONG_PTR KAFFINITY
Definition: compat.h:85
struct _HALP_ROLLOVER * PHALP_ROLLOVER
BOOLEAN NTAPI HalpDismissIrq07(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:708
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
unsigned int * PULONG
Definition: retypes.h:1
VOID __cdecl HalpRealModeStart(VOID)
IDTUsageFlags HalpIDTUsageFlags[MAXIMUM_IDTVECTOR+1]
Definition: usage.c:19
NTSTATUS NTAPI HaliSetSystemInformation(IN HAL_SET_INFORMATION_CLASS InformationClass, IN ULONG BufferSize, IN OUT PVOID Buffer)
Definition: sysinfo.c:31
BOOLEAN NTAPI HalpGetDebugPortTable(VOID)
Definition: halacpi.c:952
Definition: halp.h:29
#define BOOLEAN
Definition: pedump.c:73
#define OUT
Definition: typedefs.h:40
VOID HalpInitDma(VOID)
Definition: dma.c:121
VOID NTAPI HalpInitializePICs(IN BOOLEAN EnableInterrupts)
Definition: apic.c:445
unsigned int ULONG
Definition: retypes.h:1
PVOID NTAPI HalpMapPhysicalMemory64(IN PHYSICAL_ADDRESS PhysicalAddress, IN ULONG NumberPage)
Definition: misc.c:28
BOOLEAN(NTAPI * PHAL_DISMISS_INTERRUPT)(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: halp.h:64
struct _HalAddressUsage * Next
Definition: halp.h:178
PKTRAP_FRAME TrapFrame
Definition: halp.h:20
_In_ FILTER_INFORMATION_CLASS InformationClass
Definition: fltkernel.h:1714
VOID __cdecl HalpHardwareInterruptLevel(VOID)
VOID NTAPI HalpInitializeLegacyPICs(VOID)
Definition: pic.c:18
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG Increment
Definition: CrNtStubs.h:42
VOID NTAPI HalpRegisterKdSupportFunctions(VOID)
Definition: bus.c:23
ULONG Prefix
Definition: halp.h:27
BOOLEAN HalpNMIInProgress
Definition: nmi.c:18
struct _HALP_ROLLOVER HALP_ROLLOVER
int k
Definition: mpi.c:3369
VOID NTAPI HalpInitProcessor(IN ULONG ProcessorNumber, IN PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: halinit.c:27
ULONG ACCESS_MASK
Definition: nt_native.h:40
#define MAXIMUM_IDTVECTOR
Definition: asm.h:277
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
Definition: wdffdo.h:461
VOID(__cdecl * PHAL_SW_INTERRUPT_HANDLER)(VOID)
Definition: halp.h:32
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:251
BOOLEAN NTAPI HalpDismissIrq07Level(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:890
VOID NTAPI HalpReportResourceUsage(IN PUNICODE_STRING HalName, IN INTERFACE_TYPE InterfaceType)
Definition: usage.c:26