From: "Ni, Ray" <ray.ni@intel.com>
To: "Tan, Dun" <dun.tan@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>,
"abdattar@amd.com" <abdattar@amd.com>,
Abner Chang <abner.chang@amd.com>
Subject: Re: Use gMmst from MmServiceTableLib in MmSaveStateLib
Date: Tue, 11 Jul 2023 08:10:17 +0000 [thread overview]
Message-ID: <MN6PR11MB8244DFE70F296654BB1D7A3A8C31A@MN6PR11MB8244.namprd11.prod.outlook.com> (raw)
In-Reply-To: <BN9PR11MB548343AC5BA11D0053F405BDE52FA@BN9PR11MB5483.namprd11.prod.outlook.com>
Abdul,
Can you please send a patch to fix MmSaveStateLib to use gMmst (instead of gSmst)?
Using gSmst forbids the lib instance be linked by standalone MM modules.
Thanks,
Ray
> -----Original Message-----
> From: Tan, Dun <dun.tan@intel.com>
> Sent: Wednesday, July 5, 2023 4:42 PM
> To: devel@edk2.groups.io; abdattar@amd.com
> Cc: Ni, Ray <ray.ni@intel.com>
> Subject: Use gMmst from MmServiceTableLib in MmSaveStateLib
>
> Hi Abdul,
>
> In the new MmSaveStateLib created in this patch set, gSmst from
> SmmServiceTableLib is used. This causes that only DXE_SMM_DRIVER type
> module can consume this lib but MM_STANDALONE type module cannot.
>
> In current edk2, there are different MmServicesTableLib and
> SmmServicesTableLib:
> StadaloneMmServicesTableLib(MmServicesTableLib|MM_STANDALONE):
> initialize gMmst in standalone SMM env.
> MmServicesTableLib(MmServicesTableLib|DXE_SMM_DRIVER):
> initialize gMmst in legacy SMM env.
> SmmServicesTableLib(SmmServicesTableLib|DXE_SMM_DRIVER): initialize gSmst
> in legacy SMM env.
>
> If MmSaveStateLib uses gMmst from MmServiceTableLib instead of gSmst, then
> MmSaveStateLib can be consumed by both DXE_SMM_DRIVER and
> MM_STANDALONE module.
> Could you pls send patch to fix this?
>
> Thanks,
> Dun
>
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Abdul Lateef
> Attar via groups.io
> Sent: Sunday, July 2, 2023 12:14 PM
> To: devel@edk2.groups.io
> Cc: Abdul Lateef Attar <abdattar@amd.com>; Paul Grimes
> <paul.grimes@amd.com>; Abner Chang <abner.chang@amd.com>; Dong, Eric
> <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Kumar, Rahul R
> <rahul.r.kumar@intel.com>; Gerd Hoffmann <kraxel@redhat.com>; Kinney,
> Michael D <michael.d.kinney@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>; Ard
> Biesheuvel <ardb+tianocore@kernel.org>; Yao, Jiewen <jiewen.yao@intel.com>;
> Justen, Jordan L <jordan.l.justen@intel.com>
> Subject: [edk2-devel] [PATCH v15 0/8] Adds AmdSmmCpuFeaturesLib and
> MmSaveStateLib
>
> Backward-compatibility changes:
> This patch series removes the SmmCpuFeaturesReadSaveStateRegister
> and SmmCpuFeaturesWriteSaveStateRegister interface/function.
> SmmReadSaveState() and SmmWriteSaveState() now directly invokes
> MmSaveStateLib
> routines to save/restore registers.
>
> PR: https://github.com/tianocore/edk2/pull/4597
>
> V15: Delta changes
> Rebase the branch and fix the merge conflicts.
> V14: Delta changes
> Added @note to the MmSaveStateLib.h.
> SaveState(Read/Write) of
> EFI_SMM_SAVE_STATE_REGISTER_PROCESSOR_ID/EFI_MM_SAVE_STATE_REGIS
> TER_PROCESSOR_ID
> is handled by PiSmmCpuDxeSmm driver.
> Fixed PatchCheck warnings.
> V13: Delta changes
> Address review comments from Ray Ni
> Changed the BASE _NAME of AmdSmmCpuFeaturesLib.
> Removed EFIAPI from local function.
> Removed CpuIndex parameter from MmSaveStateGetRegisterLma
> Modifed MmSaveStateGetRegisterIndex () to accept RegOffset
> as second parameter.
> Removed FILE_GUID library instance for intel implemention from
> UefiCpuPkg.dsc.
> V12:
> Addressed review comments from Michael.
> Added LibraryClasses to .inf file.
> removed duplicate MACRO definations.
> Moved related MACRO defination to respective file.
> V11: Delta changes
> Drop the OVMF implementation of MmSaveStateLib
> V10: Delta changes:
> Addressed review comments from Abner.
> V9: Delta changes:
> Addressed review comments.
> Rename to MmSaveStateLib.
> Also rename SMM_ defines to MM_.
> Implemented OVMF MmSaveStateLib.
> Removes SmmCpuFeaturesReadSaveStateRegister and
> SmmCpuFeaturesWriteSaveStateRegister
> function interface.
> V8 delta changes:
> Addressed review comments from Abner,
> Fix the whitespace error.
> Seperate the Ovmf changes to another patch
> V7 delta changes:
> Adds SmmSmramSaveStateLib for Intel processor.
> Integrate SmmSmramSaveStateLib library.
> V6 delta changes:
> Addressed review comments for Ray NI.
> removed unnecessary EFIAPI.
> V5 delta changes:
> rebase to master branch.
> updated Reviewed-by
> V4 delta changes:
> rebase to master branch.
> added reviewed-by.
> V3 delta changes:
> Addressed review comments from Abner chang.
> Re-arranged patch order.
>
> Cc: Paul Grimes <paul.grimes@amd.com>
> Cc: Abner Chang <abner.chang@amd.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Abdul Lateef Attar <abdattar@amd.com>
>
> Abdul Lateef Attar (8):
> MdePkg: Adds AMD SMRAM save state map
> UefiCpuPkg: Adds MmSaveStateLib library class
> UefiCpuPkg: Implements MmSaveStateLib library instance
> UefiCpuPkg/SmmCpuFeaturesLib: Restructure arch-dependent code
> UefiCpuPkg: Implements SmmCpuFeaturesLib for AMD Family
> UefiCpuPkg: Implements MmSaveStateLib for Intel
> UefiCpuPkg: Removes SmmCpuFeaturesReadSaveStateRegister
> OvmfPkg: Uses MmSaveStateLib library
>
> UefiCpuPkg/UefiCpuPkg.dec | 4 +
> OvmfPkg/OvmfPkgIa32.dsc | 1 +
> OvmfPkg/OvmfPkgIa32X64.dsc | 3 +
> OvmfPkg/OvmfPkgX64.dsc | 1 +
> UefiCpuPkg/UefiCpuPkg.dsc | 12 +
> .../MmSaveStateLib/AmdMmSaveStateLib.inf | 34 +
> .../MmSaveStateLib/IntelMmSaveStateLib.inf | 34 +
> .../AmdSmmCpuFeaturesLib.inf | 38 +
> UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf | 2 +
> .../Include/Register/Amd/SmramSaveStateMap.h | 194 +++++
> UefiCpuPkg/Include/Library/MmSaveStateLib.h | 74 ++
> .../Include/Library/SmmCpuFeaturesLib.h | 52 --
> .../Library/MmSaveStateLib/MmSaveState.h | 94 +++
> UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h | 56 +-
> .../SmmCpuFeaturesLib/SmmCpuFeaturesLib.c | 767 ------------------
> .../Library/MmSaveStateLib/AmdMmSaveState.c | 309 +++++++
> .../Library/MmSaveStateLib/IntelMmSaveState.c | 410 ++++++++++
> .../MmSaveStateLib/MmSaveStateCommon.c | 132 +++
> .../SmmCpuFeaturesLib/AmdSmmCpuFeaturesLib.c | 387 +++++++++
> .../IntelSmmCpuFeaturesLib.c | 70 ++
> .../SmmCpuFeaturesLibCommon.c | 128 ---
> UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 11 +-
> UefiCpuPkg/PiSmmCpuDxeSmm/SmramSaveState.c | 500 +-----------
> MdePkg/MdePkg.ci.yaml | 4 +-
> 24 files changed, 1809 insertions(+), 1508 deletions(-) create mode 100644
> UefiCpuPkg/Library/MmSaveStateLib/AmdMmSaveStateLib.inf
> create mode 100644
> UefiCpuPkg/Library/MmSaveStateLib/IntelMmSaveStateLib.inf
> create mode 100644
> UefiCpuPkg/Library/SmmCpuFeaturesLib/AmdSmmCpuFeaturesLib.inf
> create mode 100644 MdePkg/Include/Register/Amd/SmramSaveStateMap.h
> create mode 100644 UefiCpuPkg/Include/Library/MmSaveStateLib.h
> create mode 100644 UefiCpuPkg/Library/MmSaveStateLib/MmSaveState.h
> create mode 100644 UefiCpuPkg/Library/MmSaveStateLib/AmdMmSaveState.c
> create mode 100644 UefiCpuPkg/Library/MmSaveStateLib/IntelMmSaveState.c
> create mode 100644
> UefiCpuPkg/Library/MmSaveStateLib/MmSaveStateCommon.c
> create mode 100644
> UefiCpuPkg/Library/SmmCpuFeaturesLib/AmdSmmCpuFeaturesLib.c
>
> --
> 2.25.1
>
>
>
>
>
next prev parent reply other threads:[~2023-07-11 8:10 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-02 4:14 [PATCH v15 0/8] Adds AmdSmmCpuFeaturesLib and MmSaveStateLib Abdul Lateef Attar
2023-07-03 2:00 ` Ni, Ray
2023-07-03 3:17 ` Chang, Abner
2023-07-05 8:42 ` Use gMmst from MmServiceTableLib in MmSaveStateLib duntan
2023-07-11 8:10 ` Ni, Ray [this message]
2023-07-11 9:05 ` Attar, AbdulLateef (Abdul Lateef)
2023-07-11 9:51 ` duntan
2023-07-11 16:03 ` [edk2-devel] " Attar, AbdulLateef (Abdul Lateef)
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=MN6PR11MB8244DFE70F296654BB1D7A3A8C31A@MN6PR11MB8244.namprd11.prod.outlook.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