From ca98f60382943d4b40a8e60125120edc4d69f212 Mon Sep 17 00:00:00 2001 From: Star Zeng Date: Mon, 18 Jul 2016 11:31:28 +0800 Subject: [PATCH] UefiCpuPkg/CpuS3DataDxe: Consume PcdAcpiS3Enable to control the code If PcdAcpiS3Enable is disabled, then return an EFI_UNSUPPORTED error which forces the module to be unloaded. Cc: Jeff Fan Cc: Jiewen Yao Cc: Michael Kinney Cc: Laszlo Ersek Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng Reviewed-by: Jeff Fan Reviewed-by: Laszlo Ersek Tested-by: Laszlo Ersek --- UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c | 5 +++++ UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf | 2 ++ 2 files changed, 7 insertions(+) diff --git a/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c b/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c index 7bd928f330..3489b9549c 100644 --- a/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c +++ b/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c @@ -133,6 +133,7 @@ CpuS3DataOnEndOfDxe ( @param[in] SystemTable A pointer to the EFI System Table. @retval EFI_SUCCESS The entry point is executed successfully. + @retval EFI_UNSUPPORTED Do not support ACPI S3. @retval other Some error occurs when executing this entry point. **/ @@ -160,6 +161,10 @@ CpuS3DataInitialize ( VOID *Idt; EFI_EVENT Event; + if (!PcdGetBool (PcdAcpiS3Enable)) { + return EFI_UNSUPPORTED; + } + // // Allocate ACPI NVS memory below 4G memory for use on ACPI S3 resume. // diff --git a/UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf b/UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf index 608e19f5ef..480c98ebcd 100644 --- a/UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf +++ b/UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf @@ -41,6 +41,7 @@ [Packages] MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec UefiCpuPkg/UefiCpuPkg.dec [LibraryClasses] @@ -60,6 +61,7 @@ [Pcd] gUefiCpuPkgTokenSpaceGuid.PcdCpuApStackSize ## CONSUMES gUefiCpuPkgTokenSpaceGuid.PcdCpuS3DataAddress ## PRODUCES + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable ## CONSUMES [Depex] gEfiMpServiceProtocolGuid -- 2.39.2