public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Kun Qin" <kuqin12@gmail.com>
To: devel@edk2.groups.io
Cc: "Michael D Kinney" <michael.d.kinney@intel.com>,
	"Liming Gao" <gaoliming@byosoft.com.cn>,
	"Zhiguang Liu" <zhiguang.liu@intel.com>,
	"Andrew Fish" <afish@apple.com>,
	"Leif Lindholm" <leif@nuviainc.com>,
	"Hao A Wu" <hao.a.wu@intel.com>,
	"Marvin Häuser" <mhaeuser@posteo.de>,
	"Bret Barkelew" <Bret.Barkelew@microsoft.com>,
	"Michael Kubacki" <michael.kubacki@microsoft.com>,
	"Ard Biesheuvel" <ardb+tianocore@kernel.org>,
	"Sami Mujawar" <sami.mujawar@arm.com>,
	"Jiewen Yao" <jiewen.yao@intel.com>,
	"Supreeth Venkatesh" <supreeth.venkatesh@arm.com>,
	"Jian J Wang" <jian.j.wang@intel.com>,
	"Eric Dong" <eric.dong@intel.com>, "Ray Ni" <ray.ni@intel.com>
Subject: [PATCH v3 0/7] New MM Communicate header and interfaces
Date: Mon, 16 Aug 2021 22:08:00 -0700	[thread overview]
Message-ID: <20210817050807.766-1-kuqin12@gmail.com> (raw)

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3430

This patch series is a follow up of previous submission:
https://edk2.groups.io/g/devel/message/77017

Since the submission of previous patch series, there were suggestions
made to change the entire existing MM communicate header in order to
leverage compilers to catch all potential code that referenced the
original header.

However, although such header structure and/or name change would break
compilers, there are cases where the OFFSET_OF Data fields is calculated
without involving the header structure at all.

Thus patch series v3 introduced MM communicate interface v3 (both
protocol and PPI) to consume the corresponding new header structure. The
new structure fixed ambiguious data field size caused by UINTN, as well
as integrated flexible arrays for data fields, while maintaining the
backwards compatibility for all existing codebases. A specified GUID is
used to differentiate old MM headers from newly defined v3 header.

The specification change is also included in this patch series v3, where
the standalone MM IPL in PEI phase is specified to install new PPI v3
after setting MM foundation.

v3 patch changes include feedback for v1 series:
a. Introduced v3 MM comminucate protocol and PPI;
b. Applied flexible arrays to new communicate header structures;

Patch v3 branch: https://github.com/kuqin12/edk2/tree/BZ3398-MmCommunicate-Length-v3

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Marvin Häuser <mhaeuser@posteo.de>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Michael Kubacki <michael.kubacki@microsoft.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>

Kun Qin (7):
  EDK2 Code First: PI Specification: New communicate header and
    interfaces
  MdePkg: MmCommunication: Introduce EFI_MM_COMMUNICATE_HEADER_V3 to
    MdePkg
  MdePkg: MmCommunication: Introduce EFI_MM_COMMUNICATION3_PROTOCOL to
    MdePkg
  MdePkg: MmCommunication: Introduce EFI_PEI_MM_COMMUNICATION3_PPI to
    MdePkg
  MdeModulePkg: PiSmmCore: Added parser of new MM communicate header
  StandaloneMmPkg: StandaloneMmCore: Parsing new MM communicate header
  MdeModulePkg: PiSmmIpl: Update MessageLength calculation for
    MmCommunicate

 MdeModulePkg/Core/PiSmmCore/PiSmmCore.c    |  42 ++-
 MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c     | 187 +++++++++++++
 StandaloneMmPkg/Core/StandaloneMmCore.c    |  34 ++-
 CodeFirst/BZ3430-SpecChange.md             | 277 ++++++++++++++++++++
 MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf  |   1 +
 MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf   |   2 +
 MdePkg/Include/Pi/PiMultiPhase.h           |  55 ++++
 MdePkg/Include/Ppi/MmCommunication3.h      |  58 ++++
 MdePkg/Include/Protocol/MmCommunication3.h |  70 +++++
 MdePkg/MdePkg.dec                          |  11 +
 StandaloneMmPkg/Core/StandaloneMmCore.inf  |   1 +
 11 files changed, 720 insertions(+), 18 deletions(-)
 create mode 100644 CodeFirst/BZ3430-SpecChange.md
 create mode 100644 MdePkg/Include/Ppi/MmCommunication3.h
 create mode 100644 MdePkg/Include/Protocol/MmCommunication3.h

-- 
2.32.0.windows.1


             reply	other threads:[~2021-08-17  5:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-17  5:08 Kun Qin [this message]
2021-08-17  5:08 ` [PATCH v3 1/7] EDK2 Code First: PI Specification: New communicate header and interfaces Kun Qin
2021-08-17  5:08 ` [PATCH v3 2/7] MdePkg: MmCommunication: Introduce EFI_MM_COMMUNICATE_HEADER_V3 to MdePkg Kun Qin
2021-08-17  5:50   ` [edk2-devel] " Ni, Ray
2021-08-17  6:00     ` Kun Qin
2021-08-17  5:08 ` [PATCH v3 3/7] MdePkg: MmCommunication: Introduce EFI_MM_COMMUNICATION3_PROTOCOL " Kun Qin
2021-08-17  5:08 ` [PATCH v3 4/7] MdePkg: MmCommunication: Introduce EFI_PEI_MM_COMMUNICATION3_PPI " Kun Qin
2021-08-17  5:08 ` [PATCH v3 5/7] MdeModulePkg: PiSmmCore: Added parser of new MM communicate header Kun Qin
2021-08-17  5:08 ` [PATCH v3 6/7] StandaloneMmPkg: StandaloneMmCore: Parsing " Kun Qin
2021-08-17  5:08 ` [PATCH v3 7/7] MdeModulePkg: PiSmmIpl: Update MessageLength calculation for MmCommunicate Kun Qin
2021-09-16  2:15 ` [edk2-devel] [PATCH v3 0/7] New MM Communicate header and interfaces Kun Qin

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=20210817050807.766-1-kuqin12@gmail.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