Add running level management support

This commit is contained in:
2023-11-25 23:14:15 +01:00
parent 4701351bd7
commit e245754d95
6 changed files with 320 additions and 0 deletions

View File

@@ -40,6 +40,11 @@ HlDrawPixel(IN ULONG PosX,
IN ULONG PosY,
IN ULONG Color);
XTFASTCALL
KRUNLEVEL
HlGetRunLevel();
XTCDECL
XTSTATUS
HlInitializeComPort(IN OUT PCPPORT Port,
@@ -55,9 +60,21 @@ XTFASTCALL
ULONG
HlReadApicRegister(IN APIC_REGISTER Register);
XTFASTCALL
VOID
HlSetRunLevel(IN KRUNLEVEL RunLevel);
XTFASTCALL
VOID
HlWriteApicRegister(IN APIC_REGISTER Register,
IN ULONG Value);
XTFASTCALL
KRUNLEVEL
HlpTransformApicTprToRunLevel(IN UCHAR Tpr);
XTFASTCALL
UCHAR
HlpTransformRunLevelToApicTpr(IN KRUNLEVEL RunLevel);
#endif /* __XTOSKRNL_HL_H */

View File

@@ -17,6 +17,10 @@ XTAPI
VOID
KeClearEvent(IN PKEVENT Event);
XTFASTCALL
KRUNLEVEL
KeGetCurrentRunLevel();
XTAPI
VOID
KeHaltSystem();
@@ -47,6 +51,10 @@ KeInitializeThread(IN PKPROCESS Process,
IN PVOID Stack,
IN BOOLEAN StartThread);
XTFASTCALL
VOID
KeLowerRunLevel(IN KRUNLEVEL RunLevel);
XTAPI
VOID
KePanic(IN ULONG Code);
@@ -59,6 +67,10 @@ KePanicEx(IN ULONG Code,
IN ULONG_PTR Parameter3,
IN ULONG_PTR Parameter4);
XTFASTCALL
KRUNLEVEL
KeRaiseRunLevel(IN KRUNLEVEL RunLevel);
XTAPI
LONG
KeSetEvent(IN PKEVENT Event,