KeStartDynamicProcessor
NTSTATUS __stdcall KeStartDynamicProcessor(UINT64 ProcessorId, UINT64 ApicId, UINT16 NsNodeNumber, UINT64 *NtNumber){
UINT16 v6;
UINT64 v7;
int started;
v6 = ApicId;
if( KeGetCurrentThread()->ApcState.Process != PsInitialSystemProcess || !KeDynamicPartitioningSupported )
return -1073741823;
ExAcquireFastMutexUnsafe(&KiDynamicProcessorLock);
if( (unsigned int)KeNumberProcessors_0 >= (unsigned int)KeMaximumProcessors )
{
started = -1073741223;
}
else
{
*(_DWORD *)NtNumber = KeNumberProcessors_0;
started = KiStartDynamicProcessor(v7, v6, NsNodeNumber);
}
ExReleaseFastMutexUnsafe(&KiDynamicProcessorLock);
if( started >= 0 )
{
PnpInitializeProcessor();
PsUpdateActiveProcessAffinity();
}
return started;
}Referenced by:
No references.