Extend processor affinity structures to support group affinity
Some checks failed
Builds / ExectOS (amd64, debug) (push) Failing after 33s
Builds / ExectOS (amd64, release) (push) Failing after 31s
Builds / ExectOS (i686, debug) (push) Failing after 31s
Builds / ExectOS (i686, release) (push) Failing after 30s

This commit is contained in:
2026-06-01 01:03:18 +02:00
parent 0aabc206a1
commit a7c2182d4a
2 changed files with 23 additions and 5 deletions

View File

@@ -313,6 +313,23 @@ typedef struct _EXCEPTION_RECORD
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} EXCEPTION_RECORD, *PEXCEPTION_RECORD;
/* Group affinity structure definition */
typedef struct _GROUP_AFFINITY
{
KAFFINITY Mask;
USHORT Group;
USHORT Reserved[3];
} GROUP_AFFINITY, *PGROUP_AFFINITY;
/* Extended affinity structure definition */
typedef struct _KAFFINITY_MAP
{
USHORT Count;
USHORT Size;
ULONG Reserved;
KAFFINITY Bitmap[1];
} KAFFINITY_MAP, *PKAFFINITY_MAP;
/* Asynchronous Procedure Call (APC) object structure definition */
typedef struct _KAPC
{
@@ -469,7 +486,8 @@ typedef struct _KPROCESS
ULONG_PTR DirectoryTable[2];
USHORT IopmOffset;
UCHAR Iopl;
VOLATILE KAFFINITY ActiveProcessors;
KAFFINITY_MAP Affinity;
VOLATILE KAFFINITY_MAP ActiveProcessors;
ULONG KernelTime;
ULONG UserTime;
LIST_ENTRY ReadyListHead;
@@ -477,7 +495,6 @@ typedef struct _KPROCESS
PVOID VdmTrapHandler;
LIST_ENTRY ThreadListHead;
KSPIN_LOCK ProcessLock;
KAFFINITY Affinity;
union
{
struct
@@ -532,7 +549,6 @@ typedef struct _KTHREAD
PVOID StackBase;
PVOID StackLimit;
KSPIN_LOCK ThreadLock;
ULONG ContextSwitches;
VOLATILE UCHAR State;
UCHAR NpxState;
@@ -595,9 +611,9 @@ typedef struct _KTHREAD
CHAR PreviousMode;
UCHAR ResourceIndex;
UCHAR DisableBoost;
KAFFINITY UserAffinity;
GROUP_AFFINITY UserAffinity;
PKPROCESS Process;
KAFFINITY Affinity;
GROUP_AFFINITY Affinity;
PVOID ServiceTable;
PKAPC_STATE ApcStatePointer[2];
KAPC_STATE SavedApcState;