From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: dandan.bi@intel.com) Received: from mga05.intel.com (mga05.intel.com []) by groups.io with SMTP; Sun, 28 Apr 2019 19:16:54 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Apr 2019 19:16:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,408,1549958400"; d="scan'208";a="139631995" Received: from shwdeopenpsi114.ccr.corp.intel.com ([10.239.157.147]) by orsmga006.jf.intel.com with ESMTP; 28 Apr 2019 19:16:53 -0700 From: "Dandan Bi" To: devel@edk2.groups.io Cc: Eric Dong , Ray Ni , Laszlo Ersek Subject: [patch 09/11] UefiCpuPkg: Remove PcdFrameworkCompatibilitySupport usage Date: Mon, 29 Apr 2019 10:16:05 +0800 Message-Id: <20190429021607.11304-10-dandan.bi@intel.com> X-Mailer: git-send-email 2.18.0.windows.1 In-Reply-To: <20190429021607.11304-1-dandan.bi@intel.com> References: <20190429021607.11304-1-dandan.bi@intel.com> 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 Cc: Ray Ni Cc: Laszlo Ersek Signed-off-by: Dandan Bi --- .../Universal/Acpi/S3Resume2Pei/S3Resume.c | 30 ------------------- .../Acpi/S3Resume2Pei/S3Resume2Pei.inf | 3 +- 2 files changed, 1 insertion(+), 32 deletions(-) diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c index 77c3fb6bdc..83ce1c4037 100644 --- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c +++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c @@ -741,12 +741,10 @@ S3ResumeExecuteBootScript ( { EFI_STATUS Status; PEI_SMM_ACCESS_PPI *SmmAccess; UINTN Index; VOID *GuidHob; - IA32_DESCRIPTOR *IdtDescriptor; - VOID *IdtBuffer; PEI_S3_RESUME_STATE *PeiS3ResumeState; BOOLEAN InterruptStatus; DEBUG ((DEBUG_INFO, "S3ResumeExecuteBootScript()\n")); @@ -802,38 +800,10 @@ S3ResumeExecuteBootScript ( if (FeaturePcdGet (PcdDxeIplSwitchToLongMode)) { 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. // AsmWriteGdtr (&mGdt); diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf index d694a98691..aae984d138 100644 --- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf +++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf @@ -3,11 +3,11 @@ # # This module works with StandAloneBootScriptExecutor to S3 resume to OS. # 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.
+# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.
# Copyright (c) 2017, AMD Incorporated. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -87,11 +87,10 @@ gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES gEfiPeiSmmCommunicationPpiGuid ## SOMETIMES_CONSUMES [FeaturePcd] gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES - gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES [Pcd] gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES -- 2.18.0.windows.1