From: "Dong, Eric" <eric.dong@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"mikuback@linux.microsoft.com" <mikuback@linux.microsoft.com>
Cc: "Ni, Ray" <ray.ni@intel.com>, Laszlo Ersek <lersek@redhat.com>,
"Kumar, Rahul1" <rahul1.kumar@intel.com>
Subject: Re: [edk2-devel] [PATCH v3 0/5] UefiCpuPkg/StandaloneMmCpuFeaturesLib: Add Standalone MM support
Date: Mon, 8 Mar 2021 01:45:02 +0000 [thread overview]
Message-ID: <CY4PR11MB127201EBDF41BAA029E19F19FE939@CY4PR11MB1272.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20210217213227.1277-1-mikuback@linux.microsoft.com>
Reviewed-by: Eric Dong <eric.dong@intel.com> for this serial.
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Michael Kubacki
Sent: Thursday, February 18, 2021 5:32 AM
To: devel@edk2.groups.io
Cc: Dong, Eric <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>; Kumar, Rahul1 <rahul1.kumar@intel.com>
Subject: [edk2-devel] [PATCH v3 0/5] UefiCpuPkg/StandaloneMmCpuFeaturesLib: Add Standalone MM support
From: Michael Kubacki <michael.kubacki@microsoft.com>
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3218
The present SmmCpuFeaturesLib implementation in UefiCpuPkg can be useful for IA32/X64 platforms that need a library instance for a Standalone MM environment. Much of the logic can be reused and a new INF can isolate the differences unique to Standalone MM.
This patch series contains an initial set of changes for cleaning up pre-existing design issues in the library. The final two patches contain changes needed for Standalone MM support.
Here's an overview of how the three library instances are organized that may be a useful reference (provided by Laszlo):
Traditional, Traditional, Standalone,
no STM STM no STM
Entry point type DXE DXE MM
Lib inst. init. basic STM basic
Processor init. basic STM basic
PCD access any any fixed
* Traditional no STM = SmmCpuFeaturesLib.inf
* Traditional STM = SmmCpuFeaturesLibStm.inf
* Standalone no STM = StandaloneMmCpuFeaturesLib.inf
V3 changes:
PATCH v3 2/5 is a new patch in the series that renames the file
SmmCpuFeaturesLib.c to SmmCpuFeaturesLibCommon.c to more clearly
identify implementation in the file as shared between all library
instances.
PATCH v3 3/5 adds a new source file SmmCpuFeaturesLib.c that
contains the constructor specific to the Traditional MM no
STM library instance. This was previously implemented in a
file built by the Standalone MM instance and while not
harmful, it was not clean.
PATCH v3 4/5 updates "@retval" to "@return" in the documentation
for GetCpuMaxLogicalProcessorNumber() since it is not a constant
return value.
PATCH v3 5/5 contains a commit message update to note that all
instances of "PiSmm.h" in the library source files have been
updated to "PiMm.h" for consistency throughout the library.
V2 changes:
Due to some pre-existing design issues in the library that
affected a single v1 patch that add Standalone MM support,
it was suggested to first address those issues and then add the
new INF StandaloneMmCpuFeaturesLib.inf.
To address these concerns, the following v1 patch was converted
into a v2 patch series:
https://edk2.groups.io/g/devel/message/71626
The first two patches in v2 primarily addressed those concerns.
PATCH v2 1/4 and PATCH v2 2/4 focused on fixing pre-existing
design issues.
PATCH v2 3/4 and PATCH v2 4/4 focused on the changes needed to add
Standalone MM support.
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Michael Kubacki (5):
UefiCpuPkg/SmmCpuFeaturesLib: Move multi-instance function decl to
header
UefiCpuPkg/SmmCpuFeaturesLib: Rename SmmCpuFeaturesLib.c
UefiCpuPkg/SmmCpuFeaturesLib: Cleanup library constructors
UefiCpuPkg/SmmCpuFeaturesLib: Abstract PcdCpuMaxLogicalProcessorNumber
UefiCpuPkg/SmmCpuFeaturesLib: Add Standalone MM support
UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmmStmSupport.c | 2 +-
UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c | 608 +-------------------
UefiCpuPkg/Library/SmmCpuFeaturesLib/{SmmCpuFeaturesLib.c => SmmCpuFeaturesLibCommon.c} | 36 +-
UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibNoStm.c | 3 +-
UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c | 26 +-
UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.c | 50 ++
UefiCpuPkg/Library/SmmCpuFeaturesLib/TraditionalMmCpuFeaturesLib.c | 28 +
UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmmStmSupport.c | 2 +-
UefiCpuPkg/Library/SmmCpuFeaturesLib/CpuFeaturesLib.h | 48 ++
UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf | 3 +
UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf | 4 +-
UefiCpuPkg/Library/SmmCpuFeaturesLib/{SmmCpuFeaturesLib.inf => StandaloneMmCpuFeaturesLib.inf} | 22 +-
UefiCpuPkg/UefiCpuPkg.dsc | 1 +
13 files changed, 172 insertions(+), 661 deletions(-) copy UefiCpuPkg/Library/SmmCpuFeaturesLib/{SmmCpuFeaturesLib.c => SmmCpuFeaturesLibCommon.c} (93%) create mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.c
create mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/TraditionalMmCpuFeaturesLib.c
create mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/CpuFeaturesLib.h
copy UefiCpuPkg/Library/SmmCpuFeaturesLib/{SmmCpuFeaturesLib.inf => StandaloneMmCpuFeaturesLib.inf} (53%)
--
2.28.0.windows.1
-=-=-=-=-=-=
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#71751): https://edk2.groups.io/g/devel/message/71751
Mute This Topic: https://groups.io/mt/80715262/1768733
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [eric.dong@intel.com]
-=-=-=-=-=-=
next prev parent reply other threads:[~2021-03-08 1:45 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-17 21:32 [PATCH v3 0/5] UefiCpuPkg/StandaloneMmCpuFeaturesLib: Add Standalone MM support Michael Kubacki
2021-02-17 21:32 ` [PATCH v3 1/5] UefiCpuPkg/SmmCpuFeaturesLib: Move multi-instance function decl to header Michael Kubacki
2021-02-17 21:32 ` [PATCH v3 2/5] UefiCpuPkg/SmmCpuFeaturesLib: Rename SmmCpuFeaturesLib.c Michael Kubacki
2021-02-19 20:31 ` Laszlo Ersek
2021-02-17 21:32 ` [PATCH v3 3/5] UefiCpuPkg/SmmCpuFeaturesLib: Cleanup library constructors Michael Kubacki
2021-02-19 20:39 ` Laszlo Ersek
2021-02-17 21:32 ` [PATCH v3 4/5] UefiCpuPkg/SmmCpuFeaturesLib: Abstract PcdCpuMaxLogicalProcessorNumber Michael Kubacki
2021-02-19 20:43 ` Laszlo Ersek
2021-02-17 21:32 ` [PATCH v3 5/5] UefiCpuPkg/SmmCpuFeaturesLib: Add Standalone MM support Michael Kubacki
2021-02-19 20:43 ` Laszlo Ersek
2021-03-05 14:39 ` [edk2-devel] [PATCH v3 0/5] UefiCpuPkg/StandaloneMmCpuFeaturesLib: " Laszlo Ersek
2021-03-08 1:45 ` Dong, Eric [this message]
2021-03-08 18:16 ` Laszlo Ersek
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=CY4PR11MB127201EBDF41BAA029E19F19FE939@CY4PR11MB1272.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