Dedicated Idle process and thread initialization with dynamic affinity allocation

This commit is contained in:
2026-06-04 11:23:47 +02:00
parent 34aba8c7c7
commit 1d2d66fc83
7 changed files with 184 additions and 47 deletions

View File

@@ -21,10 +21,12 @@ namespace KE
STATIC EPROCESS InitialProcess;
public:
STATIC XTAPI PKPROCESS GetIdleProcess(VOID);
STATIC XTAPI PEPROCESS GetInitialProcess(VOID);
STATIC XTAPI VOID InitializeIdleProcess(IN OUT PKPROCESS Process,
IN PULONG_PTR DirectoryTable);
STATIC XTAPI VOID InitializeProcess(IN OUT PKPROCESS Process,
IN KPRIORITY Priority,
IN KAFFINITY Affinity,
IN PULONG_PTR DirectoryTable,
IN BOOLEAN Alignment);
};

View File

@@ -22,6 +22,10 @@ namespace KE
public:
STATIC XTAPI PETHREAD GetInitialThread(VOID);
STATIC XTAPI VOID InitializeIdleThread(IN PKPROCESS IdleProcess,
IN OUT PKTHREAD IdleThread,
IN PKPROCESSOR_CONTROL_BLOCK Prcb,
IN PVOID Stack);
STATIC XTAPI XTSTATUS InitializeThread(IN PKPROCESS Process,
IN OUT PKTHREAD Thread,
IN PKSYSTEM_ROUTINE SystemRoutine,