mirror of https://github.com/acidanthera/audk.git
EmulatorPkg/MpService: Check Processor State when Set Procedure
Due to the state of processor could be set blocked by SingleThread parameter, so we ought to add a READY state check, only let the processor in READY state to invoke procedure. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16185 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
1a160a74a5
commit
5152f6426c
|
@ -465,7 +465,13 @@ CpuMpServicesStartupAllAps (
|
|||
continue;
|
||||
}
|
||||
|
||||
SetApProcedure (ProcessorData, Procedure, ProcedureArgument);
|
||||
gThread->MutexLock (ProcessorData->StateLock);
|
||||
ProcessorState = ProcessorData->State;
|
||||
gThread->MutexUnlock (ProcessorData->StateLock);
|
||||
|
||||
if (ProcessorState == CPU_STATE_READY) {
|
||||
SetApProcedure (ProcessorData, Procedure, ProcedureArgument);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue