Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 7d1b9d3c3cfab13a93b8383a2328bc5bfd8593fa
      
https://github.com/tianocore/edk2/commit/7d1b9d3c3cfab13a93b8383a2328bc5bfd8593fa
  Author: Kun Qin <kuqi...@gmail.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M MdePkg/Include/Pi/PiMultiPhase.h
    M MdePkg/MdePkg.dec

  Log Message:
  -----------
  MdePkg: MmCommunication: Introduce EFI_MM_COMMUNICATE_HEADER_V3 to MdePkg

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

This change introduces a new definition for MM communicate header
structure, intending to provide better portability between different
architectures (IA32 & X64) and adapt to flexible array supported by
modern compilers.

The original MessageLength field of EFI_MM_COMMUNICATE_HEADER, as a
generic definition, was used for both PEI and DXE MM communication. On a
system that supports PEI MM launch, but operates PEI in 32bit mode and MM
foundation in 64bit, the current EFI_MM_COMMUNICATE_HEADER definition
will cause structure parse error due to UINTN used. This introduction
removes the architecture dependent field by defining this field as
UINT64.

The new signature could help identifying whether the data received is
compiliant with this new data structure, which will help for binary
release modules to identify usage of legacy data structure.

BufferSize field is also added to indicate the full range of communicate
region available to the SMI handler.

The data field of MM communicate message is replaced with flexible array
to allow users not having to consume extra data during communicate and
author code more intrinsically.

Cc: Michael D Kinney <michael.d.kin...@intel.com>
Cc: Liming Gao <gaolim...@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang....@intel.com>

Signed-off-by: Kun Qin <kuqi...@gmail.com>


  Commit: 11cc0d639e1518619d0af56b8e2abd58024a2294
      
https://github.com/tianocore/edk2/commit/11cc0d639e1518619d0af56b8e2abd58024a2294
  Author: Kun Qin <kuqi...@gmail.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    A MdePkg/Include/Protocol/MmCommunication3.h
    M MdePkg/MdePkg.dec

  Log Message:
  -----------
  MdePkg: MmCommunication: Introduce EFI_MM_COMMUNICATION3_PROTOCOL to MdePkg

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

This change introduces a new definition for MM communicate protocol v3.

This protocol will be installed under a new GUID in contrast to exisiting
EFI_MM_COMMUNICATION_PROTOCOL.

Data communicated to MM through EFI_MM_COMMUNICATION3_PROTOCOL should
always start with EFI_MM_COMMUNICATE_HEADER_V3 with its HeaderGuid,
Signature and Version fields properly populated.

Cc: Michael D Kinney <michael.d.kin...@intel.com>
Cc: Liming Gao <gaolim...@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang....@intel.com>

Signed-off-by: Kun Qin <kuqi...@gmail.com>


  Commit: 3da340ccdde49f3ff695545bb9c4abcdac5897cf
      
https://github.com/tianocore/edk2/commit/3da340ccdde49f3ff695545bb9c4abcdac5897cf
  Author: Kun Qin <ku...@microsoft.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    A MdePkg/Include/Ppi/MmCommunication3.h
    M MdePkg/MdePkg.dec

  Log Message:
  -----------
  MdePkg: MmCommunication: Introduce EFI_PEI_MM_COMMUNICATION3_PPI to MdePkg

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

This change introduces a new definition for MM communicate PPI v3.

This PPI will be installed under a new GUID in contrast to exisiting
EFI_PEI_MM_COMMUNICATION_PPI.

Data communicated to MM through EFI_PEI_MM_COMMUNICATION3_PPI should
always start with EFI_MM_COMMUNICATE_HEADER_V3 with its HeaderGuid,
Signature and Version fields properly populated.

Signed-off-by: Kun Qin <kuqi...@gmail.com>


  Commit: 9dec81092bf99bbd28abd95c92023561fa04526f
      
https://github.com/tianocore/edk2/commit/9dec81092bf99bbd28abd95c92023561fa04526f
  Author: Kun Qin <ku...@microsoft.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M MdeModulePkg/Core/PiSmmCore/PiSmmCore.c
    M MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf

  Log Message:
  -----------
  MdeModulePkg: PiSmmCore: Added parser of new MM communicate header

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

MM communicate protocols are expanded with EFI_MM_COMMUNICATE_HEADER_V3
structure that cooperates with updated field types and flexible array.
The PiSmmCore implementation is updated to detect and process incoming
data accordingly.

Two checks are also performed to prevent legacy communicate data or
unsupported data is fed into MM core under agreed header guid.

Cc: Jian J Wang <jian.j.w...@intel.com>
Cc: Hao A Wu <hao.a...@intel.com>
Cc: Eric Dong <eric.d...@intel.com>
Cc: Ray Ni <ray...@intel.com>

Signed-off-by: Kun Qin <kuqi...@gmail.com>


  Commit: 249ca10af0f4930f63601eb4e4a1f2106e2db2d9
      
https://github.com/tianocore/edk2/commit/249ca10af0f4930f63601eb4e4a1f2106e2db2d9
  Author: Kun Qin <ku...@microsoft.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M StandaloneMmPkg/Core/StandaloneMmCore.c
    M StandaloneMmPkg/Core/StandaloneMmCore.inf

  Log Message:
  -----------
  StandaloneMmPkg: StandaloneMmCore: Parsing new MM communicate header

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

MM communicate protocols are expanded with EFI_MM_COMMUNICATE_HEADER_V3
structure that cooperates with updated field types and flexible array.
The PiSmmCore implementation is updated to detect and process incoming
data accordingly.

Two checks are also performed to prevent legacy communicate data or
unsupported data is fed into MM core under agreed header guid.

Signed-off-by: Kun Qin <kuqi...@gmail.com>


  Commit: 05f47b8486d09315d461cb7639694d774871d2c1
      
https://github.com/tianocore/edk2/commit/05f47b8486d09315d461cb7639694d774871d2c1
  Author: Kun Qin <ku...@microsoft.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c
    M MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf

  Log Message:
  -----------
  MdeModulePkg: PiSmmIpl: Update MessageLength calculation for MmCommunicate

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

This change added support of installing `EFI_MM_COMMUNICATION3_PROTOCOL`.

MmCommunicate v3 routine that calculates message length is also updated
to remove ambiguity in contrast to v1 routine.

Signed-off-by: Kun Qin <kuqi...@gmail.com>


  Commit: bed033dbf7ea0d91d290f443c12c4aec01cbe0cb
      
https://github.com/tianocore/edk2/commit/bed033dbf7ea0d91d290f443c12c4aec01cbe0cb
  Author: Kun Qin <ku...@microsoft.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M StandaloneMmPkg/Drivers/StandaloneMmIplPei/StandaloneMmIplPei.c
    M StandaloneMmPkg/Drivers/StandaloneMmIplPei/StandaloneMmIplPei.h
    M StandaloneMmPkg/Drivers/StandaloneMmIplPei/StandaloneMmIplPei.inf

  Log Message:
  -----------
  StandaloneMmPkg: StandaloneMmIplPei: Add EFI_PEI_MM_COMMUNICATION3_PPI

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

This change added support of installing `EFI_PEI_MM_COMMUNICATION3_PPI`.

MmCommunicate v3 routine will no longer need to supply buffer length in
the input parameters but instead inference from the returned communicate
buffer.

Signed-off-by: Kun Qin <kuqi...@gmail.com>


  Commit: f3e02ae545a04fc93e8c6cd109ffca796b3b25df
      
https://github.com/tianocore/edk2/commit/f3e02ae545a04fc93e8c6cd109ffca796b3b25df
  Author: Kun Qin <ku...@microsoft.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M StandaloneMmPkg/Drivers/MmCommunicationDxe/MmCommunicationDxe.c
    M StandaloneMmPkg/Drivers/MmCommunicationDxe/MmCommunicationDxe.h
    M StandaloneMmPkg/Drivers/MmCommunicationDxe/MmCommunicationDxe.inf

  Log Message:
  -----------
  StandaloneMmPkg: MmCommunicationDxe: Add EFI_MM_COMMUNICATION3_PROTOCOL

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

This change added support of installing `EFI_MM_COMMUNICATION3_PROTOCOL`.

MmCommunicate v3 routine will no longer need to supply buffer length in
the input parameters but instead inference from the returned communicate
buffer.

Signed-off-by: Kun Qin <kuqi...@gmail.com>


Compare: https://github.com/tianocore/edk2/compare/59805c7697c8...f3e02ae545a0

To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to