Revision: 18382
          http://sourceforge.net/p/edk2/code/18382
Author:   hwu1225
Date:     2015-09-02 03:16:05 +0000 (Wed, 02 Sep 2015)
Log Message:
-----------
UefiCpuPkg/CpuMpPei: Fix CPU Healthy issue in PeiGetProcessorInfo ()

CPU Healthy state maybe changed by software. We should return Healthy state
from Healthy bit instead of from CPU BIST hardware information.

(Sync patch r18374 from main trunk.)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <[email protected]>
Reviewed-by: Feng Tian <[email protected]>

Revision Links:
--------------
    http://sourceforge.net/p/edk2/code/18374

Modified Paths:
--------------
    branches/UDK2015/UefiCpuPkg/CpuMpPei/CpuBist.c
    branches/UDK2015/UefiCpuPkg/CpuMpPei/PeiMpServices.c

Modified: branches/UDK2015/UefiCpuPkg/CpuMpPei/CpuBist.c
===================================================================
--- branches/UDK2015/UefiCpuPkg/CpuMpPei/CpuBist.c      2015-09-02 03:15:44 UTC 
(rev 18381)
+++ branches/UDK2015/UefiCpuPkg/CpuMpPei/CpuBist.c      2015-09-02 03:16:05 UTC 
(rev 18382)
@@ -226,7 +226,10 @@
         CpuData->Health = CpuInstance[CpuIndex].InfoRecord.IA32HealthFlags;
       }
     }
-    if (CpuData->Health.Uint32 != 0) {
+    if (CpuData->Health.Uint32 == 0) {
+      CpuData->CpuHealthy = TRUE;
+    } else {
+      CpuData->CpuHealthy = FALSE;
       //
       // Report Status Code that self test is failed
       //

Modified: branches/UDK2015/UefiCpuPkg/CpuMpPei/PeiMpServices.c
===================================================================
--- branches/UDK2015/UefiCpuPkg/CpuMpPei/PeiMpServices.c        2015-09-02 
03:15:44 UTC (rev 18381)
+++ branches/UDK2015/UefiCpuPkg/CpuMpPei/PeiMpServices.c        2015-09-02 
03:16:05 UTC (rev 18382)
@@ -334,7 +334,7 @@
   if (PeiCpuMpData->CpuData[ProcessorNumber].ApicId == GetInitialApicId()) {
     ProcessorInfoBuffer->StatusFlag |= PROCESSOR_AS_BSP_BIT;
   }
-  if (PeiCpuMpData->CpuData[ProcessorNumber].Health.Uint32 == 0) {
+  if (PeiCpuMpData->CpuData[ProcessorNumber].CpuHealthy) {
     ProcessorInfoBuffer->StatusFlag |= PROCESSOR_HEALTH_STATUS_BIT;
   }
   if (PeiCpuMpData->CpuData[ProcessorNumber].State == CpuStateDisabled) {


------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to