[edk2] [Patch][edk2-platforms/devel-MinnowBoard3] Fix issue in PlatformSMM

Guo, Mang posted 1 patch 7 years, 8 months ago
Failed in applying to current master (apply log)
Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c | 13 ++++++++++++-
Platform/BroxtonPlatformPkg/Common/PlatformSmm/S3Save.c   | 11 +----------
2 files changed, 13 insertions(+), 11 deletions(-)
[edk2] [Patch][edk2-platforms/devel-MinnowBoard3] Fix issue in PlatformSMM
Posted by Guo, Mang 7 years, 8 months ago
Change code to set R_SMI_EN earlier in S3 boot path to make sure all SMI were detected.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Guo Mang <mang.guo@intel.com>
---
 Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c | 13 ++++++++++++-
 Platform/BroxtonPlatformPkg/Common/PlatformSmm/S3Save.c   | 11 +----------
 2 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c b/Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c
index 673df3a..e0c6c71 100644
--- a/Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c
@@ -1,7 +1,7 @@
 /** @file
   This is a generic template for a child of the IchSmm driver.
 
-  Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 1999 - 2017, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -142,6 +142,7 @@ InitializePlatformSmm (
   EFI_SMM_SW_REGISTER_CONTEXT               SwContext;
   UINTN                                     VarSize;
   EFI_BOOT_MODE                             BootMode;
+  UINT32                                    Data32;
   Handle = NULL;
 
   //
@@ -315,6 +316,16 @@ InitializePlatformSmm (
 
   ASSERT_EFI_ERROR (Status);
 
+  
+  Data32 = IoRead32 (mAcpiBaseAddr + R_SMI_EN);
+  S3BootScriptSaveIoWrite (
+    S3BootScriptWidthUint32,
+    (mAcpiBaseAddr + R_SMI_EN),
+    1,
+    &Data32
+    );
+  
+  
   //
   // Get the ICHn protocol
   //
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSmm/S3Save.c b/Platform/BroxtonPlatformPkg/Common/PlatformSmm/S3Save.c
index 4b3f34f..00b25f5 100644
--- a/Platform/BroxtonPlatformPkg/Common/PlatformSmm/S3Save.c
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSmm/S3Save.c
@@ -1,7 +1,7 @@
 /** @file
   SMM S3 handler Driver implementation file.
 
-  Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 1999 - 2017, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -22,7 +22,6 @@ SaveRuntimeScriptTable (
   IN EFI_SMM_SYSTEM_TABLE2       *Smst
   )
 {
-  UINT32  Data32;
   UINT16  Data16;
   UINT8   Data8;
   UINT32  DwordData;
@@ -58,14 +57,6 @@ SaveRuntimeScriptTable (
     &Data8
     );
 
-  Data32 = IoRead32 (mAcpiBaseAddr + R_SMI_EN);
-  S3BootScriptSaveIoWrite (
-    S3BootScriptWidthUint32,
-    (mAcpiBaseAddr + R_SMI_EN),
-    1,
-    &Data32
-    );
-
   //
   // Save B_ICH_TCO_CNT_LOCK so it will be done on S3 resume path.
   //
-- 
2.10.1.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel