Set process and thread information in processor control block

这个提交包含在:
Rafal Kupiec 2023-02-09 17:30:24 +01:00
父节点 47f399e987
当前提交 e645cf664c
签署人:: belliash
GPG 密钥 ID: 4E829243E0CFE6B4
共有 4 个文件被更改,包括 10 次插入2 次删除

查看文件

@ -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;
}
/**