From 3814d97a34cc21d35816cefe37f1b4626b4e2116 Mon Sep 17 00:00:00 2001 From: Guo Mang Date: Fri, 14 Apr 2017 12:54:43 +0800 Subject: 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 Reviewed-by: zwei4 --- Platform/BroxtonPlatformPkg/Common/PlatformSmm/Platform.c | 13 ++++++++++++- Platform/BroxtonPlatformPkg/Common/PlatformSmm/S3Save.c | 11 +---------- 2 files changed, 13 insertions(+), 11 deletions(-) (limited to 'Platform/BroxtonPlatformPkg/Common/PlatformSmm') 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.
+ Copyright (c) 1999 - 2017, Intel Corporation. All rights reserved.
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 4b3f34fc3f..00b25f5525 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.
+ Copyright (c) 1999 - 2017, Intel Corporation. All rights reserved.
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. // -- cgit v1.2.3