From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: marc.w.chen@intel.com) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by groups.io with SMTP; Tue, 10 Sep 2019 19:27:17 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Sep 2019 19:27:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,489,1559545200"; d="scan'208";a="385551675" Received: from chenmarc-mobl.gar.corp.intel.com ([10.5.244.241]) by fmsmga006.fm.intel.com with ESMTP; 10 Sep 2019 19:27:15 -0700 From: "Marc W Chen" To: devel@edk2.groups.io Cc: Michael Kubacki , Sai Chaganty , Liming Gao , Marc Chen Subject: [edk2-platforms][PATCH V5] AdvancedFeaturePkg/S3: Add S3 PEIM driver Date: Wed, 11 Sep 2019 10:26:51 +0800 Message-Id: <20190911022651.14196-1-marc.w.chen@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2154 Implement a S3 PEIM driver for supporting S3 feature. So far this driver only install EFI_PEI_MM_ACCESS_PPI for S3 resume case. Cc: Michael Kubacki Cc: Sai Chaganty Cc: Liming Gao Signed-off-by: Marc Chen --- .../AdvancedFeaturePkg/AdvancedFeaturePkg.dsc | 2 ++ Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.c | 36 ++++++++++++++++++++++ Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.inf | 31 +++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.c create mode 100644 Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.inf diff --git a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index a50952dd..2ab706c2 100644 --- a/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Platform/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -149,5 +149,7 @@ AdvancedFeaturePkg/Ipmi/BmcElog/BmcElog.inf AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcAcpi.inf + AdvancedFeaturePkg/S3/S3Pei.inf + [BuildOptions] *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES \ No newline at end of file diff --git a/Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.c b/Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.c new file mode 100644 index 00000000..b0aaa049 --- /dev/null +++ b/Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.c @@ -0,0 +1,36 @@ +/** @file + Source code file for S3 PEI module + +Copyright (c) 2019, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include +#include + +/** + S3 PEI module entry point + + @param[in] FileHandle Not used. + @param[in] PeiServices General purpose services available to every PEIM. + + @retval EFI_SUCCESS The function completes successfully + @retval EFI_OUT_OF_RESOURCES Insufficient resources to create database +**/ +EFI_STATUS +EFIAPI +S3PeiEntryPoint ( + IN EFI_PEI_FILE_HANDLE FileHandle, + IN CONST EFI_PEI_SERVICES **PeiServices + ) +{ + EFI_STATUS Status; + + // + // Install EFI_PEI_MM_ACCESS_PPI for S3 resume case + // + Status = PeiInstallSmmAccessPpi (); + + return Status; +} diff --git a/Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.inf b/Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.inf new file mode 100644 index 00000000..847edd20 --- /dev/null +++ b/Platform/Intel/AdvancedFeaturePkg/S3/S3Pei.inf @@ -0,0 +1,31 @@ +### @file +# Component information file for the S3 PEI module. +# +# Copyright (c) 2019, Intel Corporation. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +### + +[Defines] + INF_VERSION = 0x00010017 + BASE_NAME = S3Pei + FILE_GUID = 8683EFB2-FDE1-4AFF-B2DB-E96449FDD4E9 + VERSION_STRING = 1.0 + MODULE_TYPE = PEIM + ENTRY_POINT = S3PeiEntryPoint + +[LibraryClasses] + PeimEntryPoint + PeiServicesLib + SmmAccessLib + +[Packages] + MdePkg/MdePkg.dec + IntelSiliconPkg/IntelSiliconPkg.dec + +[Sources] + S3Pei.c + +[Depex] + gEfiPeiMemoryDiscoveredPpiGuid -- 2.16.2.windows.1