From 9f419739d1ae849e0c4d75a131502f9367ca4a7d Mon Sep 17 00:00:00 2001 From: "Yao, Jiewen" Date: Wed, 25 Nov 2015 04:28:46 +0000 Subject: [PATCH] Move RestoreSmmConfigurationInS3 function to PerformPreTasks(). In this way, we can centralize the silicon configuration in PerformRemainingTasks()/PerformPreTasks() function. If there are more features need to be configured, they can put in PerformRemainingTasks()/PerformPreTasks() only. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: "Yao, Jiewen" Reviewed-by: "Kinney, Michael D" Reviewed-by: "Laszlo Ersek" git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18938 6f19259b-4bc3-4df7-8a09-765794883524 --- UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c | 10 ++-------- UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 22 ++++++++++++++++++++++ UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h | 9 +++++++++ 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c b/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c index 80378a3faf..3e8b0936aa 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c @@ -412,15 +412,9 @@ BSPHandler ( AcquireSpinLockOrFail (&mSmmMpSyncData->CpuData[CpuIndex].Busy); // - // Restore SMM Configuration in S3 boot path. + // Perform the pre tasks // - if (mRestoreSmmConfigurationInS3) { - // - // Configure SMM Code Access Check feature if available. - // - ConfigSmmCodeAccessCheck (); - mRestoreSmmConfigurationInS3 = FALSE; - } + PerformPreTasks (); // // Invoke SMM Foundation EntryPoint with the processor information context. diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c index 532ac0974b..2489848c79 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c @@ -1437,3 +1437,25 @@ PerformRemainingTasks ( mSmmReadyToLock = FALSE; } } + +/** + Perform the pre tasks. + +**/ +VOID +PerformPreTasks ( + VOID + ) +{ + // + // Restore SMM Configuration in S3 boot path. + // + if (mRestoreSmmConfigurationInS3) { + // + // Configure SMM Code Access Check feature if available. + // + ConfigSmmCodeAccessCheck (); + + mRestoreSmmConfigurationInS3 = FALSE; + } +} diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h index 106e67465c..66d85d80e1 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h @@ -586,6 +586,15 @@ PerformRemainingTasks ( VOID ); +/** + Perform the pre tasks. + +**/ +VOID +PerformPreTasks ( + VOID + ); + /** Initialize MSR spin lock by MSR index. -- 2.39.2