[edk2-devel] [PATCH resend 0/7] Add support for MM communicate2 protocol (PI 1.7a)

Ard Biesheuvel ard.biesheuvel at arm.com
Mon May 11 14:09:34 UTC 2020


On 5/11/20 4:08 PM, Gao, Liming wrote:
> Ard:
>    I see this change updates VariableSmmRuntimeDxe to consume mMmCommunication2 with mVariableBufferPhysical and mVariableBuffer for physical and virtual.
>    But, FaultTolerantWriteSmmDxe consumes mMmCommunication2 with the same SmmCommunicateHeader for physical and virtual.
> 
>    Is there any difference between them?
> 

Yes. The FTW code never executes at runtime, so it is guaranteed that 
physical == virtual.


>> -----Original Message-----
>> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Ard Biesheuvel
>> Sent: Thursday, May 7, 2020 1:27 AM
>> To: devel at edk2.groups.io
>> Cc: Ard Biesheuvel <ard.biesheuvel at arm.com>; Kinney, Michael D <michael.d.kinney at intel.com>; Gao, Liming
>> <liming.gao at intel.com>; Wang, Jian J <jian.j.wang at intel.com>; Wu, Hao A <hao.a.wu at intel.com>; Leif Lindholm
>> <leif at nuviainc.com>; Sami Mujawar <sami.mujawar at arm.com>; Yao, Jiewen <jiewen.yao at intel.com>
>> Subject: [edk2-devel] [PATCH resend 0/7] Add support for MM communicate2 protocol (PI 1.7a)
>>
>> Now that version 1.7 errata A of the PI spec has finally been released,
>> we can take another look at this series, which incorporates the new MM
>> communicate2 protocol definition, updates the producers for conventional
>> SMM and standalone MM, and updates the variable store components to consume
>> the new version of the protocol. This solves a long standing compatibility
>> issue which made standalone MM fundamentally incompatible with a virtually
>> remapped address space as installed by SetVirtualAddressMap().
>>
>> Cc: Michael D Kinney <michael.d.kinney at intel.com>
>> Cc: Liming Gao <liming.gao at intel.com>
>> Cc: Jian J Wang <jian.j.wang at intel.com>
>> Cc: Hao A Wu <hao.a.wu at intel.com>
>> Cc: Leif Lindholm <leif at nuviainc.com>
>> Cc: Sami Mujawar <sami.mujawar at arm.com>
>> Cc: Jiewen Yao <jiewen.yao at intel.com>
>>
>> Ard Biesheuvel (7):
>>    MdePkg: introduce MM communicate 2 protocol
>>    MdeModulePkg/SmmIpl: expose MM communicate 2 protocol
>>    ArmPkg/MmCommunicationDxe: expose MM Communicate 2 protocol
>>    MdeModulePkg/VariableInfo: switch to MM communicate 2 protocol
>>    MdeModulePkg/FaultTolerantWriteSmmDxe: switch to MM communicate 2
>>    MdeModulePkg/VariableSmmRuntimeDxe: switch to MM communicate 2
>>    StandaloneMmPkg: switch to MM communicate 2 protocol
>>
>>   .../MmCommunicationDxe/MmCommunication.c      | 81 +++++++++----------
>>   .../MmCommunicationDxe/MmCommunication.inf    |  6 +-
>>   .../Application/VariableInfo/VariableInfo.c   | 19 +++--
>>   .../Application/VariableInfo/VariableInfo.inf |  2 +-
>>   MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c        | 80 ++++++++++++++++++
>>   MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf      |  1 +
>>   MdeModulePkg/Include/Guid/SmmVariableCommon.h |  6 +-
>>   .../FaultTolerantWriteSmmCommon.h             |  2 +-
>>   .../FaultTolerantWriteSmmDxe.c                | 25 +++---
>>   .../FaultTolerantWriteSmmDxe.h                |  2 +-
>>   .../FaultTolerantWriteSmmDxe.inf              |  4 +-
>>   .../RuntimeDxe/VariableSmmRuntimeDxe.c        | 39 ++++-----
>>   .../RuntimeDxe/VariableSmmRuntimeDxe.inf      |  4 +-
>>   MdePkg/Include/Protocol/MmCommunication2.h    | 69 ++++++++++++++++
>>   MdePkg/MdePkg.dec                             |  7 ++
>>   StandaloneMmPkg/Core/StandaloneMmCore.h       |  2 +-
>>   .../StandaloneMmCpu/AArch64/StandaloneMmCpu.h |  2 +-
>>   17 files changed, 256 insertions(+), 95 deletions(-)
>>   create mode 100644 MdePkg/Include/Protocol/MmCommunication2.h
>>
>> --
>> 2.17.1
>>
>>
>> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#59072): https://edk2.groups.io/g/devel/message/59072
Mute This Topic: https://groups.io/mt/74033563/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list