Rework initial timer support

This commit is contained in:
2024-04-20 23:15:57 +02:00
parent 12ce7aae3f
commit 331c5bfeda
6 changed files with 111 additions and 20 deletions

View File

@@ -113,7 +113,7 @@ KeInitializeThread(IN PKPROCESS Process,
KeInitializeSemaphore(&Thread->SuspendSemaphore, 0, 2);
/* Initialize the builtin timer */
KeInitializeTimer(&Thread->Timer);
KeInitializeTimer(&Thread->Timer, NotificationTimer);
TimerWaitBlock = &Thread->WaitBlock[KTIMER_WAIT_BLOCK];
TimerWaitBlock->Object = &Thread->Timer;
TimerWaitBlock->WaitKey = STATUS_TIMEOUT;
@@ -194,6 +194,26 @@ KeStartThread(IN PKTHREAD Thread)
UNIMPLEMENTED;
}
/**
* Exits the dispatcher, switches context to a new thread and lowers runlevel to its original state.
*
* @param OldRunLevel
* Supplies the original runlevel state.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTFASTCALL
VOID
KepExitDispatcher(IN KRUNLEVEL OldRunLevel)
{
UNIMPLEMENTED;
/* Lower runlevel */
KeLowerRunLevel(OldRunLevel);
}
/**
* Suspend APC-built thread NOP routine. It takes no actions.
*