1 #ifndef __INCLUDE_NTOS_HALFUNCS_H
2 #define __INCLUDE_NTOS_HALFUNCS_H
4 #include <ntos/haltypes.h>
7 HalAdjustResourceList(PCM_RESOURCE_LIST Resources
);
10 HalAllProcessorsStarted(VOID
);
19 HalBeginSystemInterrupt(ULONG Vector
,
24 HalCalibratePerformanceCounter(ULONG Count
);
27 HalDisableSystemInterrupt(ULONG Vector
,
31 HalDisplayString(IN PCH String
);
34 HalEnableSystemInterrupt(ULONG Vector
,
36 KINTERRUPT_MODE InterruptMode
);
39 HalEndSystemInterrupt(KIRQL Irql
,
43 HalFlushCommonBuffer(ULONG Unknown1
,
53 HalGetEnvironmentVariable(IN PCH Name
,
55 IN USHORT ValueLength
);
58 HalInitializeProcessor(ULONG ProcessorNumber
,
59 PVOID ProcessorStack
);
62 HalInitSystem(ULONG BootPhase
,
63 PLOADER_PARAMETER_BLOCK LoaderBlock
);
66 HalQueryDisplayParameters(PULONG DispSizeX
,
72 HalQueryRealTimeClock(PTIME_FIELDS Time
);
75 HalReportResourceUsage(VOID
);
78 HalRequestIpi(ULONG Unknown
);
81 HalSetDisplayParameters(ULONG CursorPosX
,
85 HalSetEnvironmentVariable(IN PCH Name
,
89 HalSystemVectorDispatchEntry(ULONG Unknown1
,
94 HalStartNextProcessor(ULONG Unknown1
,
99 IoAssignDriveLetters(IN
struct _LOADER_PARAMETER_BLOCK
*LoaderBlock
,
100 IN PSTRING NtDeviceName
,
101 OUT PUCHAR NtSystemPath
,
102 OUT PSTRING NtSystemPathString
);
106 KeRaiseIrqlToSynchLevel(VOID
);
109 HalReturnToFirmware(ULONG Action
);
112 HalRequestSoftwareInterrupt(KIRQL SoftwareInterruptRequested
);
115 * Kernel debugger support functions
119 KdPortInitialize(PKD_PORT_INFORMATION PortInformation
,
124 KdPortGetByte(PUCHAR ByteRecieved
);
127 KdPortPollByte(PUCHAR ByteRecieved
);
130 KdPortPutByte(UCHAR ByteToSend
);
132 /* Non-standard functions */
134 HalReleaseDisplayOwnership();
137 HalQueryDisplayOwnership();
139 #endif /* __INCLUDE_NTOS_HALDDK_H */