From: Star Zeng Date: Mon, 18 Jul 2016 03:31:28 +0000 (+0800) Subject: UefiCpuPkg/CpuS3DataDxe: Consume PcdAcpiS3Enable to control the code X-Git-Tag: edk2-stable201903~5915 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=ca98f60382943d4b40a8e60125120edc4d69f212 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 --- 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