diff options
author | Kun Qin <kuqin12@gmail.com> | 2022-01-06 13:57:21 -0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2025-04-07 07:42:13 +0000 |
commit | 7d1b9d3c3cfab13a93b8383a2328bc5bfd8593fa (patch) | |
tree | 7c1cccebfff62a7d67aa95557142a3863ec642cc /BaseTools/Source | |
parent | 59805c7697c801be8b08e5169bc2300d821c419d (diff) | |
download | edk2-7d1b9d3c3cfab13a93b8383a2328bc5bfd8593fa.zip edk2-7d1b9d3c3cfab13a93b8383a2328bc5bfd8593fa.tar.gz edk2-7d1b9d3c3cfab13a93b8383a2328bc5bfd8593fa.tar.bz2 |
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.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Signed-off-by: Kun Qin <kuqin12@gmail.com>
Diffstat (limited to 'BaseTools/Source')
0 files changed, 0 insertions, 0 deletions