ReactOS 0.4.15-dev-8109-gd7be748
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/* Don't include this in freeloader */
14#ifndef _BLDR_
16
17#undef SYNCH_LEVEL
18#define SYNCH_LEVEL HalpIrqlSynchLevel
19#endif
20
21typedef struct _HAL_BIOS_FRAME
22{
37
38typedef
41 VOID
42);
43
44typedef
47 IN PKTRAP_FRAME TrapFrame
48);
49
50#define HAL_APC_REQUEST 0
51#define HAL_DPC_REQUEST 1
52
53/* HAL profiling offsets in KeGetPcr()->HalReserved[] */
54#define HAL_PROFILING_INTERVAL 0
55#define HAL_PROFILING_MULTIPLIER 1
56
57/* Usage flags */
58#define IDT_REGISTERED 0x01
59#define IDT_LATCHED 0x02
60#define IDT_READ_ONLY 0x04
61#define IDT_INTERNAL 0x11
62#define IDT_DEVICE 0x21
63
64#ifdef _M_AMD64
65#define HALP_LOW_STUB_SIZE_IN_PAGES 5
66#else
67#define HALP_LOW_STUB_SIZE_IN_PAGES 3
68#endif
69
70/* Conversion functions */
71#define BCD_INT(bcd) \
72 (((bcd & 0xF0) >> 4) * 10 + (bcd & 0x0F))
73#define INT_BCD(int) \
74 (UCHAR)(((int / 10) << 4) + (int % 10))
75
76typedef
80 IN ULONG Irq,
82);
83
88 IN ULONG Irq,
90);
91
96 IN ULONG Irq,
98);
99
101NTAPI
103 IN KIRQL Irql,
104 IN ULONG Irq,
106);
107
109NTAPI
111 IN KIRQL Irql,
112 IN ULONG Irq,
114);
115
117NTAPI
119 IN KIRQL Irql,
120 IN ULONG Irq,
122);
123
125NTAPI
127 IN KIRQL Irql,
128 IN ULONG Irq,
130);
131
133NTAPI
135 IN KIRQL Irql,
136 IN ULONG Irq,
138);
139
141NTAPI
143 IN KIRQL Irql,
144 IN ULONG Irq,
146);
147
148VOID
151 VOID
152);
153
154//
155// Hack Flags
156//
157#define HALP_REVISION_FROM_HACK_FLAGS(x) ((x) >> 24)
158#define HALP_REVISION_HACK_FLAGS(x) ((x) >> 12)
159#define HALP_HACK_FLAGS(x) ((x) & 0xFFF)
160
161//
162// Feature flags
163//
164#define HALP_CARD_FEATURE_FULL_DECODE 0x0001
165
166//
167// Match Flags
168//
169#define HALP_CHECK_CARD_REVISION_ID 0x10000
170#define HALP_CHECK_CARD_SUBVENDOR_ID 0x20000
171#define HALP_CHECK_CARD_SUBSYSTEM_ID 0x40000
172
173//
174// Mm PTE/PDE to Hal PTE/PDE
175//
176#define HalAddressToPde(x) (PHARDWARE_PTE)MiAddressToPde(x)
177#define HalAddressToPte(x) (PHARDWARE_PTE)MiAddressToPte(x)
178
179typedef struct _IDTUsageFlags
180{
181 UCHAR Flags;
183
184typedef struct
185{
186 KIRQL Irql;
187 UCHAR BusReleativeVector;
188} IDTUsage;
189
190typedef struct _HalAddressUsage
191{
193 CM_RESOURCE_TYPE Type;
195 struct
196 {
201
202/* adapter.c */
204
205/* sysinfo.c */
206CODE_SEG("INIT")
207VOID
208NTAPI
210 IN ULONG BusVector,
211 IN ULONG SystemVector,
212 IN KIRQL Irql);
213
214CODE_SEG("INIT")
215VOID
216NTAPI
218 IN ULONG BusVector,
219 IN ULONG SystemVector,
220 IN KIRQL Irql,
223
224/* pic.c */
231
232/* profil.c */
234
235/* timer.c */
240
242{
246
247VOID
248NTAPI
250
251/* pci.c */
253
254/* dma.c */
255CODE_SEG("INIT") VOID HalpInitDma (VOID);
256
257/* Non-generic initialization */
260
261VOID
262NTAPI
264
265//
266// KD Support
267//
268VOID
269NTAPI
271 VOID
272);
273
274CODE_SEG("INIT")
275VOID
276NTAPI
278 VOID
279);
280
281CODE_SEG("INIT")
283NTAPI
285 IN PVOID LoaderBlock,
287);
288
289CODE_SEG("INIT")
291NTAPI
294);
295
296//
297// Memory routines
298//
300NTAPI
302 IN PLOADER_PARAMETER_BLOCK LoaderBlock,
303 IN ULONG64 MaxAddress,
304 IN PFN_NUMBER PageCount,
305 IN BOOLEAN Aligned
306);
307
308PVOID
309NTAPI
312 IN PFN_COUNT PageCount,
313 IN BOOLEAN FlushCurrentTLB
314);
315
316VOID
317NTAPI
320 IN PFN_COUNT NumberPages,
321 IN BOOLEAN FlushCurrentTLB
322);
323
324PVOID
325NTAPI
328 IN PFN_COUNT PageCount
329);
330
331VOID
332NTAPI
335 IN PFN_COUNT NumberPages
336);
337
338/* sysinfo.c */
340NTAPI
342 _In_ BOOLEAN IsRead,
346);
347
349NTAPI
355);
356
358NTAPI
363);
364
365//
366// BIOS Routines
367//
369NTAPI
371 VOID
372);
373
374VOID
377 PKTRAP_FRAME TrapFrame
378);
379
380VOID
383 VOID
384);
385
386//
387// Processor Halt Routine
388//
389VOID
390NTAPI
392 VOID
393);
394
395//
396// CMOS Routines
397//
398CODE_SEG("INIT")
399VOID
400NTAPI
402 VOID
403);
404
406UCHAR
407NTAPI
409 IN UCHAR Reg
410);
411
413VOID
414NTAPI
416 IN UCHAR Reg,
418);
419
420//
421// Spinlock for protecting CMOS access
422//
424VOID
425NTAPI
427 VOID
428);
429
431VOID
432NTAPI
434 VOID
435);
436
437VOID
438NTAPI
440 VOID
441);
442
444NTAPI
451);
452
453CODE_SEG("INIT")
454VOID
455NTAPI
457 VOID
458);
459
460CODE_SEG("INIT")
462NTAPI
464 VOID
465);
466
467CODE_SEG("INIT")
468VOID
469NTAPI
471 VOID
472);
473
474CODE_SEG("INIT")
476NTAPI
478 VOID
479);
480
481CODE_SEG("INIT")
482VOID
483NTAPI
485 VOID
486);
487
488CODE_SEG("INIT")
489VOID
490NTAPI
494);
495
496CODE_SEG("INIT")
497ULONG
498NTAPI
500 VOID
501);
502
504NTAPI
507);
508
509VOID
512 IN PKTRAP_FRAME TrapFrame,
515);
516
517VOID
518NTAPI
520 _In_ PKTRAP_FRAME TrapFrame,
521 _In_ KIRQL Irql);
522
523CODE_SEG("INIT")
524VOID
525NTAPI
527 VOID
528);
529
531NTAPI
533 VOID
534);
535
536CODE_SEG("INIT")
537VOID
538NTAPI
540 IN PBUS_HANDLER BusHandler,
541 IN PCI_SLOT_NUMBER PciSlot,
542 IN ULONG i,
543 IN ULONG j,
544 IN ULONG k,
545 IN PPCI_COMMON_CONFIG PciData
546);
547
548VOID
549NTAPI
551 IN ULONG ProcessorNumber,
552 IN PLOADER_PARAMETER_BLOCK LoaderBlock
553);
554
555#if defined(SARCH_PC98)
557NTAPI
558HalpDismissIrq08(
560 _In_ ULONG Irq,
562);
563
565NTAPI
566HalpDismissIrq08Level(
568 _In_ ULONG Irq,
570);
571
572VOID
573NTAPI
575
576extern ULONG PIT_FREQUENCY;
577#endif /* SARCH_PC98 */
578
579VOID
580NTAPI
582 _In_ ULONG Phase,
583 _In_ PLOADER_PARAMETER_BLOCK LoaderBlock
584);
585
586#ifdef _M_AMD64
587#define KfLowerIrql KeLowerIrql
588#define KiEnterInterruptTrap(TrapFrame) /* We do all neccessary in asm code */
589#define KiEoiHelper(TrapFrame) return /* Just return to the caller */
590#define HalBeginSystemInterrupt(Irql, Vector, OldIrql) ((*(OldIrql) = PASSIVE_LEVEL), TRUE)
591#endif // _M_AMD64
592
594
596
598
600
602
604
607extern PWCHAR HalName;
608
610
612
613extern const USHORT HalpBuildType;
#define CODE_SEG(...)
unsigned char BOOLEAN
#define __cdecl
Definition: accygwin.h:79
#define VOID
Definition: acefi.h:82
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx 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:672
LONG NTSTATUS
Definition: precomp.h:26
@ Create
Definition: registry.c:563
_In_ ULONG _In_ BATTERY_QUERY_INFORMATION_LEVEL _In_ LONG _In_ ULONG _Out_ PULONG ReturnedLength
Definition: batclass.h:188
Definition: bufpool.h:45
#define _Acquires_lock_(lock)
#define _Requires_lock_held_(lock)
#define _Releases_lock_(lock)
_Out_ PKIRQL Irql
Definition: csq.h:179
ULONG_PTR KAFFINITY
Definition: compat.h:85
static NTSTATUS EnableInterrupts(IN PPORT_DEVICE_EXTENSION DeviceExtension, IN UCHAR FlagsToDisable, IN UCHAR FlagsToEnable)
Definition: pnp.c:380
UCHAR KIRQL
Definition: env_spec_w32.h:591
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
KIRQL * PKIRQL
Definition: env_spec_w32.h:592
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG Increment
Definition: CrNtStubs.h:46
_In_ FILTER_INFORMATION_CLASS InformationClass
Definition: fltkernel.h:1713
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
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
VOID HalpInitDma(VOID)
Definition: dma.c:185
VOID NTAPI HalpReleaseCmosSpinLock(VOID)
Definition: spinlock.c:243
VOID NTAPI HalpAcquireCmosSpinLock(VOID)
Definition: spinlock.c:226
VOID NTAPI HalpInitializeClockPc98(VOID)
Definition: clock.c:62
VOID NTAPI HalpWriteCmos(_In_ UCHAR Reg, _In_ UCHAR Value)
Definition: cmos.c:132
UCHAR NTAPI HalpReadCmos(_In_ UCHAR Reg)
Definition: cmos.c:123
VOID HalpClockInterrupt(VOID)
Definition: timer.c:30
struct _IDTUsageFlags IDTUsageFlags
VOID HalpInitPhase0(PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: halinit_mp.c:30
VOID NTAPI HalpRegisterVector(IN UCHAR Flags, IN ULONG BusVector, IN ULONG SystemVector, IN KIRQL Irql)
Definition: usage.c:34
VOID HalpProfileInterrupt(VOID)
VOID HalpInitializeClock(VOID)
Definition: timer.c:54
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
#define PIT_FREQUENCY
Definition: halhw.h:61
KAFFINITY HalpDefaultInterruptAffinity
Definition: processor.c:18
BOOLEAN NTAPI HalpDismissIrq13(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:679
ULONG NTAPI HalpIs16BitPortDecodeSupported(VOID)
Definition: halacpi.c:961
BOOLEAN NTAPI HalpDismissIrq13Level(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:861
VOID NTAPI HalpUnmapVirtualAddressVista(IN PVOID VirtualAddress, IN PFN_COUNT NumberPages, IN BOOLEAN FlushCurrentTLB)
Definition: memory.c:227
NTSTATUS NTAPI HalpMarkAcpiHal(VOID)
Definition: misc.c:57
VOID __cdecl HalpRealModeStart(VOID)
NTSTATUS NTAPI HaliHandlePCIConfigSpaceAccess(_In_ BOOLEAN IsRead, _In_ ULONG Port, _In_ ULONG Length, _Inout_ PULONG Buffer)
Definition: sysinfo.c:43
BOOLEAN NTAPI HalpDismissIrqLevel(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:816
DECLSPEC_NORETURN VOID FASTCALL HalpDispatchInterrupt2ndEntry(IN PKTRAP_FRAME TrapFrame)
Definition: pic.c:1183
struct _HalAddressUsage * PADDRESS_USAGE
PHAL_SW_INTERRUPT_HANDLER __cdecl HalpDispatchInterrupt2(VOID)
Definition: pic.c:1199
VOID NTAPI HalpBuildAddressMap(VOID)
Definition: halacpi.c:944
BOOLEAN NTAPI HalpDismissIrq07(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:708
VOID NTAPI HalpCheckPowerButton(VOID)
Definition: misc.c:146
VOID FASTCALL KeUpdateSystemTime(IN PKTRAP_FRAME TrapFrame, IN ULONG Increment, IN KIRQL OldIrql)
Definition: time.c:64
VOID NTAPI HalpRegisterKdSupportFunctions(VOID)
Definition: busemul.c:22
VOID NTAPI HalpFlushTLB(VOID)
Definition: misc.c:156
NTSTATUS NTAPI HalpOpenRegistryKey(IN PHANDLE KeyHandle, IN HANDLE RootKey, IN PUNICODE_STRING KeyName, IN ACCESS_MASK DesiredAccess, IN BOOLEAN Create)
Definition: misc.c:104
KSPIN_LOCK HalpSystemHardwareLock
Definition: spinlock.c:25
PVOID NTAPI HalpMapPhysicalMemory64Vista(IN PHYSICAL_ADDRESS PhysicalAddress, IN PFN_COUNT PageCount, IN BOOLEAN FlushCurrentTLB)
Definition: memory.c:156
VOID HalpInitPciBus(VOID)
IDTUsageFlags HalpIDTUsageFlags[MAXIMUM_IDTVECTOR+1]
Definition: usage.c:19
VOID NTAPI HalpUnmapVirtualAddress(IN PVOID VirtualAddress, IN PFN_COUNT NumberPages)
Definition: memory.c:148
NTSTATUS NTAPI HalpSetupPciDeviceForDebugging(IN PVOID LoaderBlock, IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice)
BOOLEAN NTAPI HalpDismissIrq15Level(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:826
VOID NTAPI HalpDebugPciDumpBus(IN PBUS_HANDLER BusHandler, IN PCI_SLOT_NUMBER PciSlot, IN ULONG i, IN ULONG j, IN ULONG k, IN PPCI_COMMON_CONFIG PciData)
Definition: bussupp.c:794
struct _HALP_ROLLOVER * PHALP_ROLLOVER
VOID NTAPI HalpInitializePICs(IN BOOLEAN EnableInterrupts)
Definition: apic.c:513
VOID NTAPI HalpInitBusHandlers(VOID)
Definition: halacpi.c:935
struct _HALP_ROLLOVER HALP_ROLLOVER
VOID NTAPI HalInitializeBios(_In_ ULONG Phase, _In_ PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: x86bios.c:48
VOID NTAPI HalpInitProcessor(IN ULONG ProcessorNumber, IN PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: halinit.c:24
VOID __cdecl HalpDispatchInterrupt(VOID)
VOID FASTCALL HalpExitToV86(PKTRAP_FRAME TrapFrame)
BOOLEAN HalDisableFirmwareMapper
Definition: halacpi.c:43
VOID NTAPI KeUpdateRunTime(_In_ PKTRAP_FRAME TrapFrame, _In_ KIRQL Irql)
BOOLEAN NTAPI HalpBiosDisplayReset(VOID)
Definition: bios.c:642
KAFFINITY HalpActiveProcessors
Definition: processor.c:17
VOID NTAPI HalpCalibrateStallExecution(VOID)
Definition: pchw.c:105
BOOLEAN NTAPI HalpDismissIrq15(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:644
PADAPTER_OBJECT NTAPI HalpAllocateAdapterEx(ULONG NumberOfMapRegisters, BOOLEAN IsMaster, BOOLEAN Dma32BitAddresses)
PWCHAR HalName
Definition: halacpi.c:45
VOID NTAPI HalpReportResourceUsage(IN PUNICODE_STRING HalName, IN INTERFACE_TYPE InterfaceType)
Definition: usage.c:26
VOID NTAPI HalpInitializeCmos(VOID)
Definition: cmos.c:160
BOOLEAN NTAPI HalpDismissIrqGeneric(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:634
VOID NTAPI HalpInitializeLegacyPICs(VOID)
Definition: pic.c:18
BOOLEAN NTAPI HalpGetDebugPortTable(VOID)
Definition: halacpi.c:952
BOOLEAN(NTAPI * PHAL_DISMISS_INTERRUPT)(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: halp.h:78
VOID(FASTCALL * PHAL_SW_INTERRUPT_HANDLER_2ND_ENTRY)(IN PKTRAP_FRAME TrapFrame)
Definition: halp.h:46
PVOID NTAPI HalpMapPhysicalMemory64(IN PHYSICAL_ADDRESS PhysicalAddress, IN PFN_COUNT PageCount)
Definition: memory.c:140
KIRQL HalpIrqlSynchLevel
Definition: buildtype.c:19
NTSTATUS NTAPI HaliInitPnpDriver(VOID)
Definition: halpnpdd.c:906
BOOLEAN NTAPI HalpDismissIrq07Level(IN KIRQL Irql, IN ULONG Irq, OUT PKIRQL OldIrql)
Definition: pic.c:890
VOID NTAPI HalpReportSerialNumber(VOID)
Definition: misc.c:26
BOOLEAN HalpNMIInProgress
Definition: nmi.c:18
PADDRESS_USAGE HalpAddressUsageList
Definition: usage.c:20
DECLSPEC_NORETURN VOID FASTCALL HalpApcInterrupt2ndEntry(IN PKTRAP_FRAME TrapFrame)
Definition: pic.c:1134
NTSTATUS NTAPI HalpReleasePciDeviceForDebugging(IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice)
struct _HAL_BIOS_FRAME HAL_BIOS_FRAME
VOID NTAPI HaliHaltSystem(VOID)
Definition: processor.c:21
VOID(__cdecl * PHAL_SW_INTERRUPT_HANDLER)(VOID)
Definition: halp.h:40
PWCHAR HalHardwareIdString
Definition: halacpi.c:44
LARGE_INTEGER HalpPerfCounter
Definition: timer.c:23
VOID __cdecl HalpApcInterrupt(VOID)
ULONG64 NTAPI HalpAllocPhysicalMemory(IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN ULONG64 MaxAddress, IN PFN_NUMBER PageCount, IN BOOLEAN Aligned)
Definition: memory.c:29
ADDRESS_USAGE HalpDefaultIoSpace
Definition: usage.c:42
struct _HalAddressUsage ADDRESS_USAGE
struct _HAL_BIOS_FRAME * PHAL_BIOS_FRAME
NTSTATUS NTAPI HaliSetSystemInformation(IN HAL_SET_INFORMATION_CLASS InformationClass, IN ULONG BufferSize, IN OUT PVOID Buffer)
Definition: sysinfo.c:31
VOID NTAPI HalpGetNMICrashFlag(VOID)
Definition: usage.c:595
VOID __cdecl HalpClockIpi(VOID)
VOID __cdecl HalpHardwareInterruptLevel(VOID)
NTSTATUS NTAPI HaliQuerySystemInformation(IN HAL_QUERY_INFORMATION_CLASS InformationClass, IN ULONG BufferSize, IN OUT PVOID Buffer, OUT PULONG ReturnedLength)
Definition: sysinfo.c:19
const USHORT HalpBuildType
Definition: buildtype.c:14
BOOLEAN HalpProfilingStopped
Definition: profil.c:18
NTSTATUS NTAPI HalpQueryAcpiResourceRequirements(OUT PIO_RESOURCE_REQUIREMENTS_LIST *Requirements)
Definition: halacpi.c:1016
CPPORT Port[4]
Definition: headless.c:35
_In_ ULONG Mode
Definition: hubbusif.h:303
enum _INTERFACE_TYPE INTERFACE_TYPE
unsigned __int64 ULONG64
Definition: imports.h:198
int k
Definition: mpi.c:3369
#define _Inout_
Definition: ms_sal.h:378
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4715
#define MAXIMUM_IDTVECTOR
Definition: asm.h:280
ULONG ACCESS_MASK
Definition: nt_native.h:40
#define FASTCALL
Definition: nt_native.h:50
#define DECLSPEC_NORETURN
Definition: ntbasedef.h:176
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
#define BOOLEAN
Definition: pedump.c:73
unsigned short USHORT
Definition: pedump.c:61
enum _KINTERRUPT_MODE KINTERRUPT_MODE
ULONG PFN_NUMBER
Definition: ke.h:9
static PMEMKEY RootKey
Definition: registry.c:55
Definition: halp.h:30
ULONG Increment
Definition: halp.h:244
ULONG RollOver
Definition: halp.h:243
PKTRAP_FRAME TrapFrame
Definition: halp.h:28
ULONG CsLimit
Definition: halp.h:29
ULONG Eip
Definition: halp.h:27
ULONG SegSs
Definition: halp.h:23
ULONG SegCs
Definition: halp.h:26
ULONG SsLimit
Definition: halp.h:32
ULONG SsFlags
Definition: halp.h:34
ULONG CsFlags
Definition: halp.h:31
ULONG CsBase
Definition: halp.h:30
ULONG Prefix
Definition: halp.h:35
ULONG SsBase
Definition: halp.h:33
ULONG EFlags
Definition: halp.h:25
ULONG Esp
Definition: halp.h:24
struct _HalAddressUsage::@1527 Element[]
ULONG Start
Definition: halp.h:197
struct _HalAddressUsage * Next
Definition: halp.h:192
CM_RESOURCE_TYPE Type
Definition: halp.h:193
UCHAR Flags
Definition: halp.h:194
ULONG Length
Definition: halp.h:198
UCHAR Flags
Definition: halp.h:26
uint32_t * PULONG
Definition: typedefs.h:59
#define NTAPI
Definition: typedefs.h:36
#define IN
Definition: typedefs.h:39
uint16_t * PWCHAR
Definition: typedefs.h:56
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2658
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
Definition: wdfdevice.h:2699
_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
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
_Out_ PULONG NumberOfMapRegisters
Definition: halfuncs.h:209
enum _HAL_SET_INFORMATION_CLASS HAL_SET_INFORMATION_CLASS
enum _HAL_QUERY_INFORMATION_CLASS HAL_QUERY_INFORMATION_CLASS
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress
Definition: iotypes.h:1098
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:778
ULONG PFN_COUNT
Definition: mmtypes.h:102
unsigned char UCHAR
Definition: xmlstorage.h:181