]> git.proxmox.com Git - mirror_edk2.git/commitdiff
UefiCpuPkg/PiSmmCpuDxeSmm: Initialize gSmst fields on S3 resume
authorMichael Kinney <michael.d.kinney@intel.com>
Thu, 24 Dec 2015 00:14:00 +0000 (00:14 +0000)
committermdkinney <mdkinney@Edk2>
Thu, 24 Dec 2015 00:14:00 +0000 (00:14 +0000)
Update S3 resume path to initialize the fields of gSmst before
the gSmst fields are used to complete initialization in S3 resume.

Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19504 6f19259b-4bc3-4df7-8a09-765794883524

UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c

index 949dd4e5c1e7519edbbc8cacaa03c4454ea9ca13..36a0650b2fd06c1b1dc521cd11bf134f8d79cc34 100644 (file)
@@ -1496,6 +1496,15 @@ PerformPreTasks (
   // Restore SMM Configuration in S3 boot path.\r
   //\r
   if (mRestoreSmmConfigurationInS3) {\r
+    //\r
+    // Need make sure gSmst is correct because below function may use them.\r
+    //\r
+    gSmst->SmmStartupThisAp      = gSmmCpuPrivate->SmmCoreEntryContext.SmmStartupThisAp;\r
+    gSmst->CurrentlyExecutingCpu = gSmmCpuPrivate->SmmCoreEntryContext.CurrentlyExecutingCpu;\r
+    gSmst->NumberOfCpus          = gSmmCpuPrivate->SmmCoreEntryContext.NumberOfCpus;\r
+    gSmst->CpuSaveStateSize      = gSmmCpuPrivate->SmmCoreEntryContext.CpuSaveStateSize;\r
+    gSmst->CpuSaveState          = gSmmCpuPrivate->SmmCoreEntryContext.CpuSaveState;\r
+\r
     //\r
     // Configure SMM Code Access Check feature if available.\r
     //\r