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
continue;\r
}\r
\r
- SetApProcedure (ProcessorData, Procedure, ProcedureArgument);\r
+ gThread->MutexLock (ProcessorData->StateLock);\r
+ ProcessorState = ProcessorData->State;\r
+ gThread->MutexUnlock (ProcessorData->StateLock);\r
+\r
+ if (ProcessorState == CPU_STATE_READY) {\r
+ SetApProcedure (ProcessorData, Procedure, ProcedureArgument);\r
+ }\r
}\r
\r
//\r