Migrate thread affinity from GROUP_AFFINITY to KAFFINITY_MAP
This commit is contained in:
@@ -313,14 +313,6 @@ typedef struct _EXCEPTION_RECORD
|
|||||||
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
|
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
|
||||||
} EXCEPTION_RECORD, *PEXCEPTION_RECORD;
|
} 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 */
|
/* Extended affinity structure definition */
|
||||||
typedef struct _KAFFINITY_MAP
|
typedef struct _KAFFINITY_MAP
|
||||||
{
|
{
|
||||||
@@ -611,9 +603,9 @@ typedef struct _KTHREAD
|
|||||||
CHAR PreviousMode;
|
CHAR PreviousMode;
|
||||||
UCHAR ResourceIndex;
|
UCHAR ResourceIndex;
|
||||||
UCHAR DisableBoost;
|
UCHAR DisableBoost;
|
||||||
GROUP_AFFINITY UserAffinity;
|
KAFFINITY_MAP UserAffinity;
|
||||||
PKPROCESS Process;
|
PKPROCESS Process;
|
||||||
GROUP_AFFINITY Affinity;
|
KAFFINITY_MAP Affinity;
|
||||||
PVOID ServiceTable;
|
PVOID ServiceTable;
|
||||||
PKAPC_STATE ApcStatePointer[2];
|
PKAPC_STATE ApcStatePointer[2];
|
||||||
KAPC_STATE SavedApcState;
|
KAPC_STATE SavedApcState;
|
||||||
|
|||||||
@@ -248,7 +248,6 @@ typedef struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD, *PE
|
|||||||
typedef struct _FIRMWARE_INFORMATION_BLOCK FIRMWARE_INFORMATION_BLOCK, *PFIRMWARE_INFORMATION_BLOCK;
|
typedef struct _FIRMWARE_INFORMATION_BLOCK FIRMWARE_INFORMATION_BLOCK, *PFIRMWARE_INFORMATION_BLOCK;
|
||||||
typedef struct _FLOAT128 FLOAT128, *PFLOAT128;
|
typedef struct _FLOAT128 FLOAT128, *PFLOAT128;
|
||||||
typedef struct _GENERIC_ADDRESS GENERIC_ADDRESS, *PGENERIC_ADDRESS;
|
typedef struct _GENERIC_ADDRESS GENERIC_ADDRESS, *PGENERIC_ADDRESS;
|
||||||
typedef struct _GROUP_AFFINITY GROUP_AFFINITY, *PGROUP_AFFINITY;
|
|
||||||
typedef struct _GUID GUID, *PGUID;
|
typedef struct _GUID GUID, *PGUID;
|
||||||
typedef struct _HL_FRAMEBUFFER_DATA HL_FRAMEBUFFER_DATA, *PHL_FRAMEBUFFER_DATA;
|
typedef struct _HL_FRAMEBUFFER_DATA HL_FRAMEBUFFER_DATA, *PHL_FRAMEBUFFER_DATA;
|
||||||
typedef struct _HL_SCROLL_REGION_DATA HL_SCROLL_REGION_DATA, *PHL_SCROLL_REGION_DATA;
|
typedef struct _HL_SCROLL_REGION_DATA HL_SCROLL_REGION_DATA, *PHL_SCROLL_REGION_DATA;
|
||||||
|
|||||||
@@ -118,8 +118,9 @@ KE::KernelInit::BootstrapKernel(VOID)
|
|||||||
CurrentThread->NextProcessor = Prcb->CpuNumber;
|
CurrentThread->NextProcessor = Prcb->CpuNumber;
|
||||||
CurrentThread->Priority = THREAD_HIGH_PRIORITY;
|
CurrentThread->Priority = THREAD_HIGH_PRIORITY;
|
||||||
CurrentThread->State = Running;
|
CurrentThread->State = Running;
|
||||||
CurrentThread->Affinity.Mask = (KAFFINITY)1 << Prcb->CpuNumber;
|
CurrentThread->Affinity.Count = 1;
|
||||||
CurrentThread->Affinity.Group = 0;
|
CurrentThread->Affinity.Size = 1;
|
||||||
|
CurrentThread->Affinity.Bitmap[0] = (KAFFINITY)1 << Prcb->CpuNumber;
|
||||||
CurrentThread->WaitRunLevel = DISPATCH_LEVEL;
|
CurrentThread->WaitRunLevel = DISPATCH_LEVEL;
|
||||||
CurrentProcess->ActiveProcessors.Bitmap[0] |= (KAFFINITY)1 << Prcb->CpuNumber;
|
CurrentProcess->ActiveProcessors.Bitmap[0] |= (KAFFINITY)1 << Prcb->CpuNumber;
|
||||||
|
|
||||||
|
|||||||
@@ -118,8 +118,9 @@ KE::KernelInit::BootstrapKernel(VOID)
|
|||||||
CurrentThread->NextProcessor = Prcb->CpuNumber;
|
CurrentThread->NextProcessor = Prcb->CpuNumber;
|
||||||
CurrentThread->Priority = THREAD_HIGH_PRIORITY;
|
CurrentThread->Priority = THREAD_HIGH_PRIORITY;
|
||||||
CurrentThread->State = Running;
|
CurrentThread->State = Running;
|
||||||
CurrentThread->Affinity.Mask = (KAFFINITY)1 << Prcb->CpuNumber;
|
CurrentThread->Affinity.Count = 1;
|
||||||
CurrentThread->Affinity.Group = 0;
|
CurrentThread->Affinity.Size = 1;
|
||||||
|
CurrentThread->Affinity.Bitmap[0] = (KAFFINITY)1 << Prcb->CpuNumber;
|
||||||
CurrentThread->WaitRunLevel = DISPATCH_LEVEL;
|
CurrentThread->WaitRunLevel = DISPATCH_LEVEL;
|
||||||
CurrentProcess->ActiveProcessors.Bitmap[0] |= (KAFFINITY)1 << Prcb->CpuNumber;
|
CurrentProcess->ActiveProcessors.Bitmap[0] |= (KAFFINITY)1 << Prcb->CpuNumber;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user