summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDandan Bi <dandan.bi@intel.com>2019-04-28 21:42:33 +0800
committerLiming Gao <liming.gao@intel.com>2019-05-09 09:42:55 +0800
commit3e2ec1891f98f7166e3ecb46cc00088e7403eff4 (patch)
treed08d6886b8a9e23d6d1c13498d5e8b7f386704fb
parent868f139b086ab27eaece61f3f6c71296c36ddbb6 (diff)
downloadedk2-3e2ec1891f98f7166e3ecb46cc00088e7403eff4.zip
edk2-3e2ec1891f98f7166e3ecb46cc00088e7403eff4.tar.gz
edk2-3e2ec1891f98f7166e3ecb46cc00088e7403eff4.tar.bz2
UefiCpuPkg: Remove PcdFrameworkCompatibilitySupport usage
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464 Currently Framework compatibility support is not needed and PcdFrameworkCompatibilitySupport will be removed from edk2. So remove the usage of this PCD firstly. Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
-rw-r--r--UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c30
-rw-r--r--UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf3
2 files changed, 1 insertions, 32 deletions
diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
index 77c3fb6..83ce1c4 100644
--- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
+++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
@@ -743,8 +743,6 @@ S3ResumeExecuteBootScript (
PEI_SMM_ACCESS_PPI *SmmAccess;
UINTN Index;
VOID *GuidHob;
- IA32_DESCRIPTOR *IdtDescriptor;
- VOID *IdtBuffer;
PEI_S3_RESUME_STATE *PeiS3ResumeState;
BOOLEAN InterruptStatus;
@@ -804,34 +802,6 @@ S3ResumeExecuteBootScript (
AsmWriteCr3 ((UINTN)AcpiS3Context->S3NvsPageTableAddress);
}
- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
- //
- // On some platform, such as ECP, a dispatch node in boot script table may execute a 32-bit PEIM which may need PeiServices
- // pointer. So PeiServices need preserve in (IDTBase- sizeof (UINTN)).
- //
- IdtDescriptor = (IA32_DESCRIPTOR *) (UINTN) (AcpiS3Context->IdtrProfile);
- //
- // Make sure the newly allocated IDT align with 16-bytes
- //
- IdtBuffer = AllocatePages (EFI_SIZE_TO_PAGES((IdtDescriptor->Limit + 1) + 16));
- if (IdtBuffer == NULL) {
- REPORT_STATUS_CODE (
- EFI_ERROR_CODE | EFI_ERROR_MAJOR,
- (EFI_SOFTWARE_PEI_MODULE | EFI_SW_PEI_EC_S3_RESUME_FAILED)
- );
- ASSERT (FALSE);
- }
- //
- // Additional 16 bytes allocated to save IA32 IDT descriptor and Pei Service Table Pointer
- // IA32 IDT descriptor will be used to setup IA32 IDT table for 32-bit Framework Boot Script code
- //
- ZeroMem (IdtBuffer, 16);
- AsmReadIdtr ((IA32_DESCRIPTOR *)IdtBuffer);
- CopyMem ((VOID*)((UINT8*)IdtBuffer + 16),(VOID*)(IdtDescriptor->Base), (IdtDescriptor->Limit + 1));
- IdtDescriptor->Base = (UINTN)((UINT8*)IdtBuffer + 16);
- *(UINTN*)(IdtDescriptor->Base - sizeof(UINTN)) = (UINTN)GetPeiServicesTablePointer ();
- }
-
InterruptStatus = SaveAndDisableInterrupts ();
//
// Need to make sure the GDT is loaded with values that support long mode and real mode.
diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
index d694a98..aae984d 100644
--- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
+++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
@@ -5,7 +5,7 @@
# This module will excute the boot script saved during last boot and after that,
# control is passed to OS waking up handler.
#
-# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -89,7 +89,6 @@
[FeaturePcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES