ReactOS 0.4.15-dev-5672-gf73ac17
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
13typedef struct _HAL_BIOS_FRAME
14{
29
30typedef
33 VOID
34);
35
36typedef
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
62typedef
66 IN ULONG Irq,
68);
69
74 IN ULONG Irq,
76);
77
82 IN ULONG Irq,
84);
85
90 IN ULONG Irq,
92);
93
98 IN ULONG Irq,
100);
101
103NTAPI
105 IN KIRQL Irql,
106 IN ULONG Irq,
108);
109
111NTAPI
113 IN KIRQL Irql,
114 IN ULONG Irq,
116);
117
119NTAPI
121 IN KIRQL Irql,
122 IN ULONG Irq,
124);
125
127NTAPI
129 IN KIRQL Irql,
130 IN ULONG Irq,
132);
133
134VOID
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
165typedef struct _IDTUsageFlags
166{
167 UCHAR Flags;
169
170typedef struct
171{
172 KIRQL Irql;
173 UCHAR BusReleativeVector;
174} IDTUsage;
175
176typedef struct _HalAddressUsage
177{
179 CM_RESOURCE_TYPE Type;
181 struct
182 {
187
188/* adapter.c */
190
191/* sysinfo.c */
192CODE_SEG("INIT")
193VOID
194NTAPI
196 IN ULONG BusVector,
197 IN ULONG SystemVector,
198 IN KIRQL Irql);
199
200CODE_SEG("INIT")
201VOID
202NTAPI
204 IN ULONG BusVector,
205 IN ULONG SystemVector,
206 IN KIRQL Irql,
209
210/* pic.c */
217
218/* profil.c */
220
221/* timer.c */
225
227{
231
232VOID
233NTAPI
235
236/* pci.c */
238
239/* dma.c */
240CODE_SEG("INIT") VOID HalpInitDma (VOID);
241
242/* Non-generic initialization */
245
246VOID
247NTAPI
249
250//
251// KD Support
252//
253VOID
254NTAPI
256 VOID
257);
258
259CODE_SEG("INIT")
260VOID
261NTAPI
263 VOID
264);
265
266CODE_SEG("INIT")
268NTAPI
270 IN PVOID LoaderBlock,
272);
273
274CODE_SEG("INIT")
276NTAPI
279);
280
281//
282// Memory routines
283//
285NTAPI
287 IN PLOADER_PARAMETER_BLOCK LoaderBlock,
288 IN ULONG64 MaxAddress,
289 IN PFN_NUMBER PageCount,
290 IN BOOLEAN Aligned
291);
292
293PVOID
294NTAPI
297 IN PFN_COUNT PageCount,
298 IN BOOLEAN FlushCurrentTLB
299);
300
301VOID
302NTAPI
305 IN PFN_COUNT NumberPages,
306 IN BOOLEAN FlushCurrentTLB
307);
308
309PVOID
310NTAPI
313 IN PFN_COUNT PageCount
314);
315
316VOID
317NTAPI
320 IN PFN_COUNT NumberPages
321);
322
323/* sysinfo.c */
325NTAPI
327 _In_ BOOLEAN IsRead,
331);
332
334NTAPI
340);
341
343NTAPI
348);
349
350//
351// BIOS Routines
352//
354NTAPI
356 VOID
357);
358
359VOID
362 PKTRAP_FRAME TrapFrame
363);
364
365VOID
368 VOID
369);
370
371//
372// Processor Halt Routine
373//
374VOID
375NTAPI
377 VOID
378);
379
380//
381// CMOS Routines
382//
383CODE_SEG("INIT")
384VOID
385NTAPI
387 VOID
388);
389
391UCHAR
392NTAPI
394 IN UCHAR Reg
395);
396
398VOID
399NTAPI
401 IN UCHAR Reg,
403);
404
405//
406// Spinlock for protecting CMOS access
407//
409VOID
410NTAPI
412 VOID
413);
414
416VOID
417NTAPI
419 VOID
420);
421
422VOID
423NTAPI
425 VOID
426);
427
429NTAPI
436);
437
438CODE_SEG("INIT")
439VOID
440NTAPI
442 VOID
443);
444
445CODE_SEG("INIT")
447NTAPI
449 VOID
450);
451
452CODE_SEG("INIT")
453VOID
454NTAPI
456 VOID
457);
458
459CODE_SEG("INIT")
461NTAPI
463 VOID
464);
465
466CODE_SEG("INIT")
467VOID
468NTAPI
470 VOID
471);
472
473CODE_SEG("INIT")
474VOID
475NTAPI
479);
480
481CODE_SEG("INIT")
482ULONG
483NTAPI
485 VOID
486);
487
489NTAPI
492);
493
494VOID
497 IN PKTRAP_FRAME TrapFrame,
500);
501
502CODE_SEG("INIT")
503VOID
504NTAPI
506 VOID
507);
508
510NTAPI
512 VOID
513);
514
515CODE_SEG("INIT")
516VOID
517NTAPI
519 IN PBUS_HANDLER BusHandler,
520 IN PCI_SLOT_NUMBER PciSlot,
521 IN ULONG i,
522 IN ULONG j,
523 IN ULONG k,
524 IN PPCI_COMMON_CONFIG PciData
525);
526
527VOID
528NTAPI
530 IN ULONG ProcessorNumber,
531 IN PLOADER_PARAMETER_BLOCK LoaderBlock
532);
533
534#if defined(SARCH_PC98)
536NTAPI
537HalpDismissIrq08(
539 _In_ ULONG Irq,
541);
542
544NTAPI
545HalpDismissIrq08Level(
547 _In_ ULONG Irq,
549);
550
551VOID
552NTAPI
554
555extern ULONG PIT_FREQUENCY;
556#endif /* SARCH_PC98 */
557
558#ifdef _M_AMD64
559
560VOID
561NTAPI
563 _In_ ULONG Phase,
564 _In_ PLOADER_PARAMETER_BLOCK LoaderBlock
565);
566
567#define KfLowerIrql KeLowerIrql
568#define KiEnterInterruptTrap(TrapFrame) /* We do all neccessary in asm code */
569#define KiEoiHelper(TrapFrame) return /* Just return to the caller */
570#define HalBeginSystemInterrupt(Irql, Vector, OldIrql) ((*(OldIrql) = PASSIVE_LEVEL), TRUE)
571#endif // _M_AMD64
572
574
576
578
580
582
584
587extern PWCHAR HalName;
588
590
592
593extern const USHORT HalpBuildType;
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:790
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 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
BOOLEAN NTAPI HalpBiosDisplayReset(VOID)
Definition: x86bios.c:498
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:159
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:64
VOID(FASTCALL * PHAL_SW_INTERRUPT_HANDLER_2ND_ENTRY)(IN PKTRAP_FRAME TrapFrame)
Definition: halp.h:38
PVOID NTAPI HalpMapPhysicalMemory64(IN PHYSICAL_ADDRESS PhysicalAddress, IN PFN_COUNT PageCount)
Definition: memory.c:140
CODE_SEG("INIT") VOID NTAPI HalpInitializeClock(VOID)
Definition: Interface.c:1810
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:32
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 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:229
ULONG RollOver
Definition: halp.h:228
PKTRAP_FRAME TrapFrame
Definition: halp.h:20
ULONG CsLimit
Definition: halp.h:21
ULONG Eip
Definition: halp.h:19
ULONG SegSs
Definition: halp.h:15
ULONG SegCs
Definition: halp.h:18
ULONG SsLimit
Definition: halp.h:24
ULONG SsFlags
Definition: halp.h:26
ULONG CsFlags
Definition: halp.h:23
ULONG CsBase
Definition: halp.h:22
ULONG Prefix
Definition: halp.h:27
ULONG SsBase
Definition: halp.h:25
ULONG EFlags
Definition: halp.h:17
ULONG Esp
Definition: halp.h:16
ULONG Start
Definition: halp.h:183
struct _HalAddressUsage * Next
Definition: halp.h:178
CM_RESOURCE_TYPE Type
Definition: halp.h:179
UCHAR Flags
Definition: halp.h:180
struct _HalAddressUsage::@1505 Element[]
ULONG Length
Definition: halp.h:184
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
VOID NTAPI HalInitializeBios(_In_ ULONG Phase, _In_ PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: x86bios.c:48
_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:792
ULONG PFN_COUNT
Definition: mmtypes.h:102
unsigned char UCHAR
Definition: xmlstorage.h:181