summaryrefslogtreecommitdiff
path: root/Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c
diff options
context:
space:
mode:
authorGuo Mang <mang.guo@intel.com>2017-04-14 12:54:43 +0800
committerGuo Mang <mang.guo@intel.com>2017-05-09 13:03:14 +0800
commit3814d97a34cc21d35816cefe37f1b4626b4e2116 (patch)
tree716819e68261718ab03abb6472f4163157e71c32 /Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c
parent04e886f18306a922fe6314d8e37f385c9b0f10c4 (diff)
downloadedk2-platforms-3814d97a34cc21d35816cefe37f1b4626b4e2116.tar.xz
Fix issue in PlatformSMM
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> Reviewed-by: zwei4 <david.wei@intel.com>
Diffstat (limited to 'Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c')
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c b/Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c
index 673df3aedd..e0c6c7138f 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
//