Revision: 16185
          http://sourceforge.net/p/edk2/code/16185
Author:   jljusten
Date:     2014-09-28 06:22:03 +0000 (Sun, 28 Sep 2014)
Log Message:
-----------
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 <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>

Modified Paths:
--------------
    trunk/edk2/EmulatorPkg/CpuRuntimeDxe/MpService.c

Modified: trunk/edk2/EmulatorPkg/CpuRuntimeDxe/MpService.c
===================================================================
--- trunk/edk2/EmulatorPkg/CpuRuntimeDxe/MpService.c    2014-09-28 06:21:55 UTC 
(rev 16184)
+++ trunk/edk2/EmulatorPkg/CpuRuntimeDxe/MpService.c    2014-09-28 06:22:03 UTC 
(rev 16185)
@@ -465,7 +465,13 @@
         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);
+      }
     }
 
     //


------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to