Hello Would you please describe what test has been done for OvmfPkg? For example, have you validated OVMF with SMM enabled?
> -----Original Message----- > From: Wu, Jiaxin <jiaxin...@intel.com> > Sent: Wednesday, April 10, 2024 9:57 PM > To: devel@edk2.groups.io > Cc: Ni, Ray <ray...@intel.com>; Zeng, Star <star.z...@intel.com>; Gerd > Hoffmann <kra...@redhat.com>; Kumar, Rahul R <rahul.r.ku...@intel.com>; > Dong, Guo <guo.d...@intel.com>; Rhodes, Sean <sean@starlabs.systems>; Lu, > James <james...@intel.com>; Guo, Gua <gua....@intel.com>; Ard Biesheuvel > <ardb+tianoc...@kernel.org>; Yao, Jiewen <jiewen....@intel.com> > Subject: [PATCH v1 00/13] Add SmmRelocationLib > > Intel plans to separate the smbase relocation logic from > PiSmmCpuDxeSmm driver, and the related behavior will be > moved to the new interface defined by the SmmRelocationLib > class. > > The SmmRelocationLib class provides the SmmRelocationInit() > interface for platform to do the smbase relocation, which > shall provide below 2 functionalities: > 1. Relocate smbases for each processor. > 2. Create the gSmmBaseHobGuid HOB. > > With SmmRelocationLib, PiSmmCpuDxeSmm driver (which runs at > a later phase) can be simplfied as below for SMM init: > 1. Consume the gSmmBaseHobGuid HOB for the relocated smbases > for each Processor. > 2. Execute the early SMM Init. > > Cc: Ray Ni <ray...@intel.com> > Cc: Zeng Star <star.z...@intel.com> > Cc: Gerd Hoffmann <kra...@redhat.com> > Cc: Rahul Kumar <rahul1.ku...@intel.com> > Cc: Guo Dong <guo.d...@intel.com> > Cc: Sean Rhodes <sean@starlabs.systems> > Cc: James Lu <james...@intel.com> > Cc: Gua Guo <gua....@intel.com> > Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> > Cc: Jiewen Yao <jiewen....@intel.com> > Signed-off-by: Jiaxin Wu <jiaxin...@intel.com> > > Jiaxin Wu (13): > UefiCpuPkg: Add SmmRelocationLib class > UefiCpuPkg/SmmRelocationLib: Add SmmRelocationLib library instance > UefiCpuPkg/SmmRelocationLib: Add library instance for OVMF > UefiCpuPkg/SmmRelocationLib: Add library instance for AMD > UefiCpuPkg/UefiCpuPkg.dsc: Include SmmRelocationLib in UefiCpuPkg > UefiPayloadPkg/UefiPayloadPkg.dsc: Include SmmRelocationLib > OvmfPkg: Include SmmRelocationLib in OvmfPkg > OvmfPkg/PlatformInitLib: Create gEfiSmmSmramMemoryGuid > OvmfPkg/SmmAccess: Consume gEfiSmmSmramMemoryGuid > OvmfPkg/PlatformInitLib: Create gEfiAcpiVariableGuid > OvmfPkg/SmmCpuFeaturesLib: Check Smbase Relocation is done or not > OvmfPkg/PlatformPei: Relocate SmBases in PEI phase > UefiCpuPkg/PiSmmCpuDxeSmm: Remove SmBases relocation logic > > OvmfPkg/AmdSev/AmdSevX64.dsc | 1 + > OvmfPkg/CloudHv/CloudHvX64.dsc | 1 + > OvmfPkg/Library/PlatformInitLib/MemDetect.c | 104 ++-- > .../Library/PlatformInitLib/PlatformInitLib.inf | 6 +- > .../Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c | 33 +- > OvmfPkg/Microvm/MicrovmX64.dsc | 1 + > OvmfPkg/OvmfPkgIa32.dsc | 1 + > OvmfPkg/OvmfPkgIa32X64.dsc | 1 + > OvmfPkg/OvmfPkgX64.dsc | 1 + > OvmfPkg/PlatformPei/Platform.c | 1 + > OvmfPkg/PlatformPei/Platform.h | 5 + > OvmfPkg/PlatformPei/PlatformPei.inf | 5 +- > OvmfPkg/PlatformPei/SmmRelocation.c | 80 +++ > OvmfPkg/SmmAccess/SmmAccess2Dxe.c | 4 +- > OvmfPkg/SmmAccess/SmmAccess2Dxe.inf | 5 + > OvmfPkg/SmmAccess/SmmAccessPei.c | 88 +-- > OvmfPkg/SmmAccess/SmmAccessPei.inf | 7 +- > OvmfPkg/SmmAccess/SmramInternal.c | 73 +-- > OvmfPkg/SmmAccess/SmramInternal.h | 18 +- > UefiCpuPkg/Include/Library/SmmRelocationLib.h | 42 ++ > .../SmmRelocationLib/AmdSmmRelocationLib.inf | 61 ++ > .../SmmRelocationLib/AmdSmramSaveStateConfig.c | 109 ++++ > .../SmmRelocationLib}/Ia32/Semaphore.c | 13 +- > .../Library/SmmRelocationLib/Ia32/SmmInit.nasm | 157 +++++ > .../SmmRelocationLib/InternalSmmRelocationLib.h | 141 +++++ > .../SmmRelocationLib/OvmfSmmRelocationLib.inf | 61 ++ > .../SmmRelocationLib/OvmfSmramSaveStateConfig.c | 107 ++++ > .../Library/SmmRelocationLib/SmmRelocationLib.c | 659 > +++++++++++++++++++++ > .../Library/SmmRelocationLib/SmmRelocationLib.inf | 61 ++ > .../SmmRelocationLib/SmramSaveStateConfig.c | 91 +++ > .../SmmRelocationLib}/X64/Semaphore.c | 13 +- > .../SmmRelocationLib}/X64/SmmInit.nasm | 93 ++- > UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c | 21 +- > UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.nasm | 96 --- > UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c | 6 +- > UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 322 +--------- > UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h | 98 --- > UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf | 4 - > UefiCpuPkg/PiSmmCpuDxeSmm/SmramSaveState.c | 69 --- > UefiCpuPkg/UefiCpuPkg.dec | 3 + > UefiCpuPkg/UefiCpuPkg.dsc | 3 + > UefiPayloadPkg/UefiPayloadPkg.dsc | 2 + > 42 files changed, 1850 insertions(+), 817 deletions(-) > create mode 100644 OvmfPkg/PlatformPei/SmmRelocation.c > create mode 100644 UefiCpuPkg/Include/Library/SmmRelocationLib.h > create mode 100644 > UefiCpuPkg/Library/SmmRelocationLib/AmdSmmRelocationLib.inf > create mode 100644 > UefiCpuPkg/Library/SmmRelocationLib/AmdSmramSaveStateConfig.c > rename UefiCpuPkg/{PiSmmCpuDxeSmm => > Library/SmmRelocationLib}/Ia32/Semaphore.c (72%) > create mode 100644 UefiCpuPkg/Library/SmmRelocationLib/Ia32/SmmInit.nasm > create mode 100644 > UefiCpuPkg/Library/SmmRelocationLib/InternalSmmRelocationLib.h > create mode 100644 > UefiCpuPkg/Library/SmmRelocationLib/OvmfSmmRelocationLib.inf > create mode 100644 > UefiCpuPkg/Library/SmmRelocationLib/OvmfSmramSaveStateConfig.c > create mode 100644 UefiCpuPkg/Library/SmmRelocationLib/SmmRelocationLib.c > create mode 100644 > UefiCpuPkg/Library/SmmRelocationLib/SmmRelocationLib.inf > create mode 100644 > UefiCpuPkg/Library/SmmRelocationLib/SmramSaveStateConfig.c > rename UefiCpuPkg/{PiSmmCpuDxeSmm => > Library/SmmRelocationLib}/X64/Semaphore.c (78%) > rename UefiCpuPkg/{PiSmmCpuDxeSmm => > Library/SmmRelocationLib}/X64/SmmInit.nasm (57%) > delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.nasm > > -- > 2.16.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#117603): https://edk2.groups.io/g/devel/message/117603 Mute This Topic: https://groups.io/mt/105441987/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-