From: "duntan" <dun.tan@intel.com>
To: devel@edk2.groups.io
Subject: [edk2-devel] [PATCH 00/19] Remove some S3 related code in CpuS3.c of smm cpu driver
Date: Fri, 10 May 2024 18:08:09 +0800 [thread overview]
Message-ID: <20240510100827.1903-1-dun.tan@intel.com> (raw)
This patch set is to remove some S3 related code in CpuS3.c of smm cpu driver. It contain commits to:
1.Save MTRR setting by lockbox in PEI phase
2.Load MTRR in S3Resume.c before transferring to CpuS3.c in smm cpu driver.
3.Add callback of gEdkiiEndOfS3ResumeGuid in PeiMpLib to relocate Ap to new safe buffer.
4.Install gEdkiiEndOfS3ResumeGuid in S3Resume.c before booting OS to relocate APs
4.Change PcdCpuFeaturesInitOnS3Resume to TRUE to set register table in CpuFeaturesPei
5.Remove code to set register table/load mtrr/wakeup AP and relocate ap in CpuS3.c.
With this patch set, CpuS3.c in smm CPU driver can be simplified.
Dun Tan (18):
MdeModulePkg: Add gEdkiiS3MtrrSettingGuid
OvmfPkg: Save MTRR by lockbox in CpuS3DataDxe
UefiCpuPkg: Add locbox lib instance in DSC
UefiCpuPkg: Save MTRR by lockbox in CpuS3DataDxe
UefiCpuPkg: LoadMtrrData for all cpu in S3Resume
UefiCpuPkg: Remove the duplicated mpservice locate
UefiCpuPkg: Install gEdkiiEndOfS3ResumeGuid in S3Resume
UefiCpuPkg:Abstract some DxeMpLib code to function
UefiCpuPkg:Move some code in DxeMpLib to common place
UefiCpuPkg:Relocate AP to new safe buffer in PeiMpLib
UefiCpuPkg: Disable PG in IA32 ApLoopCode
UefiCpuPkg: Remove code to load mtrr setting
UefiCpuPkg:Set PcdCpuFeaturesInitOnS3Resume to TRUE
UefiCpuPkg: Remove code to set register table
UefiCpuPkg:Remove code to handle APIC setting and Interrupt
UefiCpuPkg:Rremove code to wakeup AP and relocate ap
UefiCpuPkg: Remove GetAcpiCpuData() in CpuS3.c
MdeModulePkg: remove MpService2Ppi field in SMM_S3_RESUME_STATE
Ray Ni (1):
MdePkg: Add MmUnblockMemoryLib to MdeLibs.dsc
MdeModulePkg/Include/Guid/AcpiS3Context.h | 1 -
MdeModulePkg/MdeModulePkg.dec | 3 +++
MdePkg/MdeLibs.dsc.inc | 3 ++-
OvmfPkg/CpuS3DataDxe/CpuS3Data.c | 11 +++++++++++
OvmfPkg/CpuS3DataDxe/CpuS3DataDxe.inf | 2 ++
UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c | 11 +++++++++++
UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf | 2 ++
UefiCpuPkg/Library/MpInitLib/DxeMpLib.c | 181 +++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------
UefiCpuPkg/Library/MpInitLib/Ia32/MpFuncs.nasm | 4 ++++
UefiCpuPkg/Library/MpInitLib/MpLib.c | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
UefiCpuPkg/Library/MpInitLib/MpLib.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++-
UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf | 4 ++++
UefiCpuPkg/Library/MpInitLib/PeiMpLib.c | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c | 991 ++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.nasm | 153 -------------------------------------------------------------------------------------------------------------------------------------------------
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmFuncsArch.c | 27 --------------------------
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 6 ++----
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h | 24 -----------------------
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf | 3 ---
UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.nasm | 189 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmFuncsArch.c | 28 ---------------------------
UefiCpuPkg/UefiCpuPkg.dec | 2 +-
UefiCpuPkg/UefiCpuPkg.dsc | 1 +
UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------
UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf | 2 ++
25 files changed, 511 insertions(+), 1561 deletions(-)
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.nasm
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.nasm
--
2.31.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#118792): https://edk2.groups.io/g/devel/message/118792
Mute This Topic: https://groups.io/mt/106018119/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
next reply other threads:[~2024-05-10 10:08 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-10 10:08 duntan [this message]
2024-05-10 10:08 ` [edk2-devel] [PATCH 01/18] MdeModulePkg: Add gEdkiiS3MtrrSettingGuid duntan
2024-05-13 2:07 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 02/18] OvmfPkg: Save MTRR by lockbox in CpuS3DataDxe duntan
2024-05-13 2:07 ` Ni, Ray
2024-05-20 7:43 ` Ard Biesheuvel
2024-05-10 10:08 ` [edk2-devel] [PATCH 03/18] UefiCpuPkg: Add locbox lib instance in DSC duntan
2024-05-13 2:07 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 04/18] UefiCpuPkg: Save MTRR by lockbox in CpuS3DataDxe duntan
2024-05-13 2:07 ` Ni, Ray
2024-05-13 3:04 ` Wu, Jiaxin
2024-05-13 3:37 ` duntan
2024-05-10 10:08 ` [edk2-devel] [PATCH 05/18] UefiCpuPkg: LoadMtrrData for all cpu in S3Resume duntan
2024-05-13 2:07 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 06/18] UefiCpuPkg: Remove the duplicated mpservice locate duntan
2024-05-13 2:07 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 07/18] UefiCpuPkg: Install gEdkiiEndOfS3ResumeGuid in S3Resume duntan
2024-05-10 10:08 ` [edk2-devel] [PATCH 08/18] UefiCpuPkg:Abstract some DxeMpLib code to function duntan
2024-05-13 2:13 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 09/18] UefiCpuPkg:Move some code in DxeMpLib to common place duntan
2024-05-13 2:16 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 10/18] UefiCpuPkg:Relocate AP to new safe buffer in PeiMpLib duntan
2024-05-13 2:23 ` Ni, Ray
2024-05-13 11:07 ` Gerd Hoffmann
2024-05-14 5:17 ` Ni, Ray
2024-05-14 6:51 ` Gerd Hoffmann
2024-05-10 10:08 ` [edk2-devel] [PATCH 11/18] UefiCpuPkg: Disable PG in IA32 ApLoopCode duntan
2024-05-13 2:25 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 12/18] UefiCpuPkg: Remove code to load mtrr setting duntan
2024-05-13 2:25 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 13/18] UefiCpuPkg:Set PcdCpuFeaturesInitOnS3Resume to TRUE duntan
2024-05-13 2:26 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 14/18] UefiCpuPkg: Remove code to set register table duntan
2024-05-13 2:26 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 15/18] UefiCpuPkg:Remove code to handle APIC setting and Interrupt duntan
2024-05-13 2:27 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 16/18] UefiCpuPkg:Remove code to wakeup AP and relocate ap duntan
2024-05-13 2:32 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 17/18] UefiCpuPkg: Remove GetAcpiCpuData() in CpuS3.c duntan
2024-05-13 2:33 ` Ni, Ray
2024-05-10 10:08 ` [edk2-devel] [PATCH 18/18] MdeModulePkg:Remove MpService2Ppi field in SMM_S3_RESUME_STATE duntan
2024-05-13 2:35 ` Ni, Ray
2024-05-13 3:38 ` duntan
2024-05-13 2:48 ` [edk2-devel] [PATCH 00/19] Remove some S3 related code in CpuS3.c of smm cpu driver Wu, Jiaxin
2024-05-13 3:37 ` duntan
2024-05-13 6:00 ` Ni, Ray
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240510100827.1903-1-dun.tan@intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox