Implement timer table list and check for expired timers
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 38s
Builds / ExectOS (i686, release) (push) Successful in 36s
Builds / ExectOS (amd64, debug) (push) Successful in 47s
Builds / ExectOS (i686, debug) (push) Successful in 46s

This commit is contained in:
2026-05-28 00:36:25 +02:00
parent 19a9dfe7c6
commit f562aa0874
6 changed files with 75 additions and 8 deletions

View File

@@ -565,6 +565,7 @@ typedef struct _KPROCESSOR_CONTROL_BLOCK
KDPC_DATA DpcData[2];
PVOID DpcStack;
VOLATILE BOOLEAN DpcRoutineActive;
VOLATILE ULONG_PTR TimerHand;
VOLATILE ULONG_PTR TimerRequest;
ULONG_PTR MultiThreadProcessorSet;
SINGLE_LIST_ENTRY DeferredReadyListHead;

View File

@@ -525,6 +525,7 @@ typedef struct _KPROCESSOR_CONTROL_BLOCK
KDPC_DATA DpcData[2];
PVOID DpcStack;
VOLATILE BOOLEAN DpcRoutineActive;
VOLATILE ULONG_PTR TimerHand;
VOLATILE ULONG_PTR TimerRequest;
SINGLE_LIST_ENTRY DeferredReadyListHead;
ULONG InterruptCount;

View File

@@ -30,8 +30,9 @@
/* Kernel service descriptor tables count */
#define KSERVICE_TABLES_COUNT 4
/* Timer length */
/* Timer related definitions */
#define KTIMER_LENGTH (FIELD_OFFSET(KTIMER, Period) + sizeof(LONG))
#define KTIMER_TABLE_SIZE 512
/* Kernel builtin wait blocks */
#define EVENT_WAIT_BLOCK 2