Set process and thread information in processor control block
All checks were successful
ci/woodpecker/push/build Pipeline was successful
All checks were successful
ci/woodpecker/push/build Pipeline was successful
This commit is contained in:
parent
47f399e987
commit
e645cf664c
@ -445,6 +445,8 @@ typedef struct _KPROCESSOR_CONTROL_BLOCK
|
||||
ULONG MxCsr;
|
||||
UCHAR Number;
|
||||
PKTHREAD CurrentThread;
|
||||
PKTHREAD IdleThread;
|
||||
PKTHREAD NextThread;
|
||||
ULONG64 RspBase;
|
||||
ULONG_PTR SetMember;
|
||||
KPROCESSOR_STATE ProcessorState;
|
||||
|
@ -348,6 +348,8 @@ typedef struct _KPROCESSOR_STATE
|
||||
typedef struct _KPROCESSOR_CONTROL_BLOCK
|
||||
{
|
||||
PKTHREAD CurrentThread;
|
||||
PKTHREAD IdleThread;
|
||||
PKTHREAD NextThread;
|
||||
UCHAR Number;
|
||||
ULONG_PTR SetMember;
|
||||
KPROCESSOR_STATE ProcessorState;
|
||||
|
@ -214,9 +214,11 @@ ArpInitializeProcessorBlock(OUT PKPROCESSOR_BLOCK ProcessorBlock,
|
||||
ProcessorBlock->Prcb.ProcessorState.SpecialRegisters.KernelDr6 = 0;
|
||||
ProcessorBlock->Prcb.ProcessorState.SpecialRegisters.KernelDr7 = 0;
|
||||
|
||||
/* Set current process and thread */
|
||||
/* Set process and thread information */
|
||||
ProcessorBlock->Prcb.CurrentThread = &KeInitialThread.ThreadControlBlock;
|
||||
ProcessorBlock->Prcb.CurrentThread->ApcState.Process = &KeInitialProcess.ProcessControlBlock;
|
||||
ProcessorBlock->Prcb.IdleThread = &KeInitialThread.ThreadControlBlock;
|
||||
ProcessorBlock->Prcb.NextThread = NULL;
|
||||
|
||||
/* Set initial MXCSR register value */
|
||||
ProcessorBlock->Prcb.MxCsr = INITIAL_MXCSR;
|
||||
|
@ -215,9 +215,11 @@ ArpInitializeProcessorBlock(OUT PKPROCESSOR_BLOCK ProcessorBlock,
|
||||
ProcessorBlock->Prcb.ProcessorState.SpecialRegisters.KernelDr6 = 0;
|
||||
ProcessorBlock->Prcb.ProcessorState.SpecialRegisters.KernelDr7 = 0;
|
||||
|
||||
/* Set current process and thread */
|
||||
/* Set process and thread information */
|
||||
ProcessorBlock->Prcb.CurrentThread = &KeInitialThread.ThreadControlBlock;
|
||||
ProcessorBlock->Prcb.CurrentThread->ApcState.Process = &KeInitialProcess.ProcessControlBlock;
|
||||
ProcessorBlock->Prcb.IdleThread = &KeInitialThread.ThreadControlBlock;
|
||||
ProcessorBlock->Prcb.NextThread = NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user